Комментарии 68
Мы стали свидетелями потрясающих событий. Лет за 30 создали магические устройства, впихнув немыслимую вычислительную мощь в карман. И уперлись в размеры атомов, дальше уже никак.
Как такое стало возможно? А очень просто - почти каждый житель нашей планеты вкладывал в развитие этой технологии существенную часть своего дохода. Эта технология везде - телефоны, ПК, приставки, чипы в картах, роутеры, ТВ, бытовая техника и т.д....
"Любая достаточно развитая технология неотличима от магии"
(С) Артур Кларк
Лет за 30 создали магические устройства, впихнув немыслимую вычислительную мощь в карман. И уперлись в размеры атомов
А ПО все равно продолжает тормозить.
так потому что оптимизация кода и расходов идут рука об руку)) Пока ты вылизываешь код для простого пользовательского приложения - конкурент нанимает калокодера, который из кусков собирает визуально рабочее приложение, и скармливает пользователям. Тормозит? Беги в елдараду, бери 2 ядра 2 гига, это просто) Вот так к этому и пришли плавно. Грубо говоря, бурный поток неотвратимо несет весь IT-бизнес туда, причем поток сам бизнес создал, и сам же в нем и погряз) В результате пришли к тому, что весь передовой прогресс от флагмана кремниевой отрасли, очкарика в куртке - это лепить кучу кремния на подложку от поколения к поколению, кратно добавляя киловатты к потреблению. На последние поколения RTX тех же без слёз не взглянешь, TDP там уже скоро с конвекторами сравнится, и что смешнее всего - никого вообще это не смущает. А ведь когда-то над прескоттами с их 130 Вт ржали))
Видимо, это безумие охватило многие отрасли. Когда-то и над владельцами смартфонов с экранами больше 5.5 дюймов потешались, мол, купил огород вспахивать или кубок по гребле с таким веслом брать. А теперь нормального компакта уже много лет как днем с огнем не сыщешь.
Вот ровно вся статья объясняет почему другой прогресс пока невозможен. Ну нету технологий.
Я согласен с комментом выше, технологический прогресс в некоторых областях впечатляет, а мы зажрались и воспринимаем его как должное.
Двухметровые телеки офигенного качество стоят 2000. Нейросетки за 5 лет развились от «поставь будильник» до «проанализируй рынок».
Но да, отсутствие маленьких телефонов это прям безумие (про которые много пищат, но продаются они из рук вон плохо). First world problems
отсутствие маленьких телефонов это прям безумие (про которые много пищат, но продаются они из рук вон плохо)Раз они продаются плохо, значит, это не безумие, а норма. Оно и понятно - большой экран удобнее маленького. Слишком большой, конечно, неудобен, но тут тоже найдено плато: в последние 6-7 лет почти все смартфоны имеют экран диагональю 6.5-6.9 дюйма и минимальную рамку. Ну а для тех, кому очень надо, есть некоторый ассортимент и в мини-сегменте. От продвинутых SGS25 и i16 до бронированных Armor Mini 20 и N6000.
На мой взгляд, стоит немного лет на 6-8 оглянуться, корни плохих продаж ведут туда. Во-первых, эпоха мелких смартов пришлась на то время, когда еще не было тонких рамок - в то время царили толстые рамки сверху и снизу, и сенсорные\аппаратные кнопки навигации. Лопаты начали входить в моду когда рамки начали убирать - современные лопаты по размерам как 5.5" аппараты из рамочной эпохи. Из-за этого лопаты многим зашли, плюс сработал эффект некоей свежей моды в отрасли. Чисто на этой волне. В это время к концу 10-х производители начали считать, что лопаты - наше всё, и начали задвигать компакты, по факту выпуская лишь совсем несбалансированные варианты. Это либо обмылки за 30-50 баксов, на которых разве что калькулятор запускать, либо овердорогие флагманы типа Zenfon, которые от розетки разве что в туалет позволяют отойти.
Так что, как по мне, мнение "компакты не продаются потому что они никому неинтересны" ошибочно. Точнее, сильно обрезано и не раскрывает причину:: компакты не покупают, потому что такие, какие выпускают - никому не интересны.
С одной стороны компакты давит действительно факт, что большинство от них отвыкнуть успело, но оставшуюся, довольно приличную аудиторию, которой компакт нужен (я в их числе) производители сами от себя же отгоняют, ибо выпускают непонятных свойств обмылки, а потом дружно утверждают, что компакты никому не интересны)) Это можно по косвенным признакам поглядеть. Тот же недавно выпущенный Unihertz Jelly Max говорят купило прилично народу. Прилично для его немаленькой цены, ибо начинка у него добротная середнячковая. Но откровенно слабая камера отпугнула немало народу, многие из-за камеры отказались от покупки, судя по обсуждениям на 4pda. Но даже в таком кривоватом балансе у аппарата неплохие продажи. Потому что в этом бюджете компакты на глобальном рынке вообще много лет отсутствуют как класс: на безрыбье и рак - рыба.
И уперлись в размеры атомов, дальше уже никак.
В размеры кристаллической решётки, а не атомов. И те ещё не близко, но наноразмеры уже дают знать о себе квантовыми эффектами. Размер решётки кремния - 0,5 нм. Но если пересчитать плотность тразисторов в чипе на линейные размеры, там получатся десятки нанометров, а не то что пишут маркетологи. Опять-таки, карбид кремния и арсенид галлия не замена классическому кремнию, это гетерогенные материалы и кристаллическая решётка у них крупнее.
Скорость ЦПУ подняли, но скорость исполнения кода на этих ЦПУ, всрали. Извиняюсь, просто другого слова не нашел, для выражения общей тенденции.
Потому как быстродействие ЦПУ давно уже избыточно и если умышленно не тормозить скорость исполнения кода на этих ЦПУ, то упадут и продажи и выделение денег на разработку железа и как следствие программ -- всё это бег ради бега.
Еще как подняли. На процессорах 80х регистровые операции занимали 2 такта, к памяти - 7 и больше тактов. На современных за счет конвеера регистровые обычно меньше такта (до четырех за такт = 0.25). И к памяти за 3 такта, если в кэше, без кэша - примерно как было.
Просто кода этого стало в десятки-сотни раз больше))
Вообще, суперскалярные процы с внеочередным выполнением команд появились ещё в конце 1960-х, так что в этом плане ничего принципиально нового современные не представляют. А вот кода -- да, стало намного больше, причём зачастую в тех же самых задачах, что и полвека назад.
без кэша - одно только row activation (чтение данных из конденсаторов в регистры) занимает 10наносекунд по порядку величины, то есть 30-50 тактов, при промахе в активную страницу DDR (* это не та страница, что в виртуальной памяти).
С кэшами и пересылками - порядка 100-200 тактов получается, зависит от.
до настоящих 2 нм еще очень далеко

Как раз хотел попросить назвать процессор, где техпроцесс (в классическом его понимании, а не маркетинговом) меньше 10 нм. В идеале картинку с микроскопа на эту структуру.
Настоящих 2 нм и не будет. Если мне не изменяет память, 2 нм - это около 4-х периодов кристаллической решетки. Но если будут продавать чипы 0.05 нм - я не удивлюсь))
Вот да. Автор тут пару раз пишет про "два атомных слоя оксида". Это, грубо 2х0,2 нм = 0,4 нм. Мне показалось, кто-то ошибся на порядок, а то и два.
Оно и не может быть ближе, для понимания не хватает размера кристаллической решётки кремния - 0,54 нм. Поэтому размер структуры не может быть меньше 5,4 нм, что равнозначно погрешности в 10% (уже слишком много).
Очень по "китайски" получилось: "8МП - это название камеры, а не разрешение"
Чувствую, моих 5.8 Ггц хватит ещё очень и очень на долго.
Походу навсегда)
А если не хватит, то Вы в любой момент можете поставить на проц стакан с жидким азотом и разогнать его до 12.7 ГГц. ;-)
приводит к постоянному сидячему потреблению энергии
Чем оно отличается от... стоячего?
реальный ff
Что это такое?
Почти всё написанное про архитектуру CPU будто написано из неверных предпосылок (проблема не в том, что CPU считает быстро, но плохо, проблема в том, что быстрый CPU ждёт данных из памяти на Stall) - в итоге выглядит ужасно. Но абзац ниже - квинтэссенция некорректности:
Игровые приставки и ПК. PlayStation 5 и Xbox Series X работают на ~3,5 ГГц, и дальше наращивать такт просто некуда — вместо этого Sony и Microsoft добиваются роста FPS через оптимизацию шейдеров, использование SIMD-инструкций и эффективную многопоточность. Разработчики переориентировались с «разгона» на повышение IPC (instructions per cycle) и асинхронные вычисления, чтобы получить каждый лишний кадр.
Увеличить тактовую частоту можно, ценой удлинения конвейра. Но зачем?
Шейдеры - считаются на видеокарте (и у неё не 3.5 ГГЦ частота)
SIMD-инструкции - это просто частный, далеко не всегда применимый случай увеличения скорости вычислений.
Теперь как правильно (см рисунок ниже):

Все вычисления делятся на вычисления с "регулярным (иногда говорят геометрическим) параллелизмом" (для этого нужны CUDA \ OpenMP .....). И без "регулярного параллелизма" - для этого нужны CPU.
И на уровне программной модели - основное направление выделение этого самого "регулярного параллелизма" из существующих алгоритмов.
По поводу CPU (см картинку выше) - основная проблема в том, что процессор ждёт данных из памяти едва ли не больше, чем работает. Проблема также в том, что подсистема памяти включая кэши "хуже прогрессирует" с уменьшением техпроцесса.
По поводу архитектур CPU более детально:
Примерно 50% времени CPU ждёт данных из памяти, и только 50% времени работает. И это ключевая проблема разработки производительных CPU сегодня.
Ускорение процессора - обязательно повлечёт удлинение конвейра. Которое само повлечёт негативные эффекты, как то:
"удорожание" неверного предсказания перехода MissBranchPredict
Увеличение числа спекулятивных и ненужных load - увеличение нагрузки на подсистему памяти.
Уменьшение времени простоя процессора - в основном увеличение ROB (reorder buffer) и prefetch в кэшах. Как уже сказано выше - прогресс подсистемы кэшей куда хуже с уменьшением техпроцесса, чем комбинационной логики (вычислительной части).
Возможно в основных задачах процессор половину времени пинает сами знаете чего.
Но как только нужно что-нибудь ffmpeg'нуть что-нибудь в 4К, так сразу вроде как надо процессор и побольше и пожирнее.
На стриминговых задачах (таких как перекодирование видео) увеличение кэша помогает только до определенного размера, потому что данные из ram влетают бурстом туда и используются только 1 раз, а затем лежат мертвым грузом, чтобы затем быть вытесненными следующей порцией данных. Здесь помогает подход стандартов gddr5-7 для GPU, когда важна не latency, а throughput (минимизация простаивания ядер на однотипной в моменте задачи). Классическое развитие интерфейса памяти в стандартах DDR для CPU направлено на поиск золотой середины между противоречивыми требованиями: предоставить минимальное latency, не просесть по throughput и при этом быть дешевой. Поэтому видосики быстрее всего кодируются на GPU (даже если использовать не аппаратные средства сжатия, встроенные в видеокарты, а компрессоры на основе compute-шейдеров), чем на CPU
Все вычисления делятся на вычисления с "регулярным (иногда говорят геометрическим) параллелизмом" (для этого нужны CUDA \ OpenMP .....). И без "регулярного параллелизма" - для этого нужны CPU.
При наличии опорных кадров (надеюсь они есть в любом приличном формате) - задача декодирования это задача с регулярным параллелизмом, т.е. задача для GPU (в худшем случае для OpenMP).
Iphone вроде бы с первой версии видео-кодеки на GPU заворачивал.
Если в 2025 году для этого всё ещё нужен мощный CPU - просветите зачем.
Я не специалист.
Нахватался вершков, но судя по тому что мне влили в уши, качество кодирования CPU нельзя сравнивать с GPU.
Как я понял, CPU = точно так.
GPU ≈ где-то примерно так, как должно быть.
У ГПУ, если не всегда, то обычно есть встроенные железные блоки для декодирования видео -- т.е. они это делают чисто аппаратно, а не программно, что и быстрей, и намного энергоэффективней. Есно, возможно и программная перекодировка, но она нужна, скажем, для какого-то нового алгоритма, не поддерживаемого в железе.
Если же говорить про чисто программную перекодировку, ГПУ с этим справляется лучше по скорости просто из-за того, что эта задача почти всегда очень хорошо параллелится. Обычные процы по своей натуре чисто последовательные, и наличие всяких дополнительных СИМД-команд лишь несколько увеличивает их "параллелизм" (и то, при условии, что программа умеет их использовать: толку от очередного новомодного SSE100500/AVX200600, если кодек был скомпилирован под базовую систему команд IA-32 (x86) без каких-либо SIMD-расширений?), в то время как ГПУ изначально созданы для параллельной обработки.
Качество же кодирования с видом проца прямо не связано -- оно зависит от конкретного алгоритма, используемого для кодирования. Если алгоритм абсолютно идентичен, то и результат будет абсолютно идентичен. Другое дело, что для ускорения или уменьшения объёма данных могут использовать определённые упрощения, допуская при этом некоторую потерю качества. Можно вспомнить, например, картинки JPEG, алгоритм кодирования которых позволяет играться с качеством результата и степенью сжатия изображения (чем меньше результат -- тем ниже качество). Но это, повторюсь, не от вида процессора зависит, а от особенностей алгоритма.
Хотел бы добавить одно уточнение (не отменяя общей правильности ответа):
У GPU (в первую очередь nVidia) всё-таки есть определённые проблемы с fp64 вычислениями. Как производительностью так и точностью (в ряде сценариев).
То есть доля правды, в словах человека выше - всё же есть.
1) Автор думаю просто не стал разделять разные процессоры внутри PS5, он про CPU, а вы про GPU
2) Решить ожидание невозможно. Если решить проблему ожидание CPU <> память, тогда придут новые память <> сеть, память <> жесткий диск
Короче ясно понятно - жефорс 6090 будет стоить не 5к, а 10к $
Статья выглядит как написанная нейросетью, например слова о том что сейчас вместо увеличения частоты, увеличивают число ядер встречаются множество раз, иногда почти подряд
Как и про медные трубки для рхлаждения процессоров. Причем почти дословно
И как такое пропустили, тут недавно был строгий редактор, учил как статьи писать. Но если это даже я отметил, представляю сколько там ошибок
причём про разные компании :)
Вот-вот, искал комментарий, чтобы не повторяться. Мало того, в первой фразе о жидкостном охлаждении говорится о серверах "Xeon с частотой около 3,5 ГГц", а во второй - "AMD EPYC на 2,4–2,6 ГГц". После этого бросил читать данный нейровысер.
А ведь в начале статьи я даже репортил автору на недочет в путанице атомов и атомных слоев..
Так нейронки у кого всему учатся? Правильно, у западных журналистов 🤣
Угу. И еще «рост ... растёт экспоненциально» и тому подобное.
И ничего не сказано про оптимизацию доступа к данным: более жирные кэши (amd 3d cache), быстрые интерфейсы доступа к памяти (hbm), ведущиеся работы в рамках jedec по частичному оффлоаду вычислений в память
Мне как-то придумалось, что следует изменить взгляд на процессор и компьютер:
- следует считать ОЗУ - таким "свопом" первого уровня;
- кэш L3 - "общим ОЗУ" компьютера;
- кэш L2 - "локальным ОЗУ" для каждого ядра персонально;
- ну, L3 - просто кэш.
Ну а процессор, по сути - становится "микроконтроллером", в смысле - "однокристалльной микро-ЭВМ". )))
Отсюда следует логичная идея - кэш-контроллер и арбитр внутренней шины проца - должны быть программируемыми в какой-то степени, и с ними должен взаимодействовать диспетчер задач операционной системы. Цель - явно связывать отдельные процессы с конкретными ядрами процессора, что бы уменьшить перекачку данных между кэшами. Т.е. загнал кусок кода и данных в кэш L2 - и пусть его ядро пережёвывает, пока не наступит окончание кванта времени и переключение задач. Плюс отдельные части кода - могут помечаться как "резидентные в пределах задачи", т.е. пока данная задача не выкинута в L3 - они вообще cидят в L2.
А в ОЗУ всё скидывается - только если совсем уж надо. например, раз в 200 мс.
Или для ввода-вывода.
P.S. В 70е годы - суперкомпьютеры Cray - охлаждались фреоном. Все электронные компоненты - находились в среде жидкого фреона. Эмиттерно-связанная логика, не хухры-мухры, активный режим транзисторов с соотв. тепловыделением! Про "пористую подложку" микросхем, внутри которой будет циркулировать охлаждающая жидкость - я читал в конце 80х - как идею, разумеется.
"Всё давно придумано до нас."
Почему это всё идёт в физику и атомы , а не в хитрые новые архитектуры ? Например помните когда все думали что шутка когда intel заявил что изобрел блоки предсказатели , а по итогу реально выпустил в новых процессорах которые значимо бустануди перформанс
Потому что в хитрые новые архитектуры уже сходили с Itanium. Результат известен.
Допустим, можно замутить гениальную совершенно новую архитектуру, которая вот прям идеально ложится на современные возможности и ограничения. Но чего она точно не сделает - это не сможет идеально исполнять существующий код, потому что он написан под архитектуру 50-летней давности, и уже существующие процессоры заточены под ее эмуляцию, пусть и ценой больших накладных расходов.
Напоследок, советы разработчику
Достаточно просто отказатся от Python и Java, и вернуться к истокам - к C и C++ сделав упор на оптимизацию.
"Не скажу за Джаву", (мне кажется этот язык постепенно умирает) а вот с Пайтоном все гораздо проще. Большинство программистов на этом языке полагают, что они на нем и программируют. В реальности (в значимых приложениях) они лишь вызывают код модулей написанный умными людьми на C или C++. Эти модули хорошо оптимизированы.
Пайтон это, в некотором смысле, гениальное изобретение, которое позволило создатъ двухуровневую экосистему программирования наподобие конструктора "Лего". В это системе есть четкое распределение ролей между теми кто разрабатывает библиотеки модулей (на C или C++) и теми, кто конструирует из них финальные приложения. Пайтон сильно облегчил задачу последним и повысил их производительность.
Проблема в том, что прослойка кода на Пайтоне с каждым годом все толще и толще.
Я б сказал, не отказаться, а не использовать их там, где нужна высокая производительность или важна энергоэффективность. В общем, выбирать инструмент, исходя из задачи, а не из популярности.
В техпроцессе 2nm GAA-FET от IBM толщина диэлектрика составляет 5нм, то есть около 9-ти периодов кристаллической решетки.

А теперь отгадайте, где здесь 2 нм и почему эта цифра присутствует в названии ? :)
Прямой связи между маркетинговыми "nm" и физическими размерами элементов транзистора (или размера самого транзистора) нет примерно с 2011 года . Эта тема частично объясняется в https://www.theregister.com/2024/01/29/nanometer_era_angstrom. Физические размеры транзистора и частота уже давно не меняются. Меняются лишь характеристики: потребляемая мощность, утечки тока и паразитные емкости. Есть еще один интересный эффект. Я читал о том, что почти 50% кристалла представляют собой "dead silicon". Это площадь не используется в силу невозможности отводить от нее тепло или подавать питание.
Я где-то читал, что при названии техпроцесса сейчас исходят из минимально различимой "фичи" которую можно вытравить на поверхности кристалла. Но у каждого эта "фича" своя. :)
Нет, в идеале 2 нм - это как если бы реально был 2 нм планарный, то есть плоский транзистор БЕЗ фич. Но сейчас уже делают "плавники" к затвору, потом начали делать 3D транзисторы, растить слои в высоту. Понятно, что от 2 нм давно ушли. Да и мне кажется уже на 5, 7 нм уже ушли от 7 нм - это "идеальный планарный, плоский транзистор с 7 нм затвором". Потому что сугубо по моему мнению слишком быстро перешли от 7 нм к 2 нм.
это не только у процессоров примерно в 2011 порвались связи между маркетингом и размерами. У того-же BMW в машине 50i двигатель 3 литра а в 118i вообще три цилиндра
Вообще то меняются - становятся меньше. Но конечно не так радикально как раньше, плюс процессор начал расти в слоях, потом появились "плавники" в затворах, сейчас там какая то 3D конструкция для затворов, это всё усложняется и меняется. Когда кончаться фичи, и расти в высоту уже будет не вариант из-за роста тепловыделения прогресс остановится
Фактически, это пространственное разрешение. На картинке прямоугольник выстой 5 нм, но разрешение техроцеса явно выше.
В регионах с жарким климатом компании вроде Meta* (Facebook) переходят на жидкостное охлаждение, прокачивая охлаждающую среду прямо через медные трубки в процессоре. Это позволяет поддерживать PUE на уровне 1.1 и оставаться уверенными в стабильности работы при высокой плотности рендер- и аналитических узлов.
Например, в тёплых регионах Google перешла на жидкостное охлаждение своих стойких Xeon-серверов с частотой около 3,5 ГГц. Жидкость циркулирует прямо через медные каналы в процессоре, позволяя поддерживать PUE (Power Usage Effectiveness) на уровне 1,1 и сохранять производительность там, где воздушное охлаждение уже бессильно.
Кажется, LLMка писала.
Мне кажется, что таких Xeon-ов, у которых прямо в кристалле реализовано жидкостное охлаждение, пока нет. Все это пока на уровне R&D. Intel разрабатывает (или уже производит) чипы в которые много медных TSV/TGV (вертикальные проводники для подачи питание от подложки к кристаллу) также используются и для равномерного отвода тепла от кристалла на подложку. Во одна из статей на эту тему от Intel-а: https://www.intel.com/content/dam/www/public/us/en/documents/technology-briefs/intel-labs-hpc-thermal-challenges-paper.pdf
Уже бы и загагулину после мощности в формуле расшифровал
Вся надежда на ИИ, сейчас кодеров нет времени играться в оптимизацию. Может хоть ИИ всё оптимизирует.
Jim Kellar кажется более надёжным источником о будущем процессоров
https://youtu.be/c01BlUDIlK4?si=gJFZuKYPIhxupQlF
Вы когда-нибудь задумывались, почему ваш смартфон мощнее компьютера 1998 года, но при этом лагает не меньше?
1) Размер атома кремния — 0,27 нм т.е. стенка в 2 атома явно быть не может. Сам транзистор до сих пор состоит из сотни тысяч атомов, так что есть куда уменьшать
2) 2 и 3 нанометра это маркетинговый ход, на самом деле реальные нанометры остановились на 45 нм в 2007 году, далее стали писать нанометры затвора, а не самого транзистора
3) Я думаю в будущем будет упор на языки программирование, которые по умолчанию будут поддерживать многопоточность из коробки, где программисту не нужно будет об этом задумываться
Я написал недавно статью на эту же тему, но я не могу ее на Хабре опубликовать из-за какого-то там рейтинга, хотя на сайте уже 20 лет. В чем смысл запрещать публиковать статьи? Может кто-то поможет мне с этим?
https://vk.com/roman_belkin?w=wall1458236_4108
Почему кремний устал: физический предел современных процессоров