#процессор

10 постов
пост №1781

Помните, в «Терминаторе» учёный не сам придумал прорывной процессор, а копировал чип робота из будущего?

На самом деле процессор Intel 4004, «с которого всё началось», придумали оттого, что Intel не могла произвести 12 отдельных чипов, которые заказал японский производитель калькуляторов Busicom.

В новом эпизоде подкаста прослеживаем путь процессоров: от релейных и ламповых компьютеров размером с комнату до 64-ядерных монстров и графических карт в кармане. История Intel — как она своими руками создала AMD и к чему это всё привело.

Слушайте и подписывайтесь: Apple, Youtube, Яндекс, Spotify, Castbox, Overcast, веб-версия.

P. S. На фото обложки — Гордон Мур, основатель Intel и тот, чьим именем назван «Закон Мура» об удвоении скорости процессоров каждые полтора года.

пост №1649

Телефоны и компьютеры каждый год становятся легче, быстрее и при этом всё дольше работают от батарейки. Вообще-то, это взаимоисключающие вещи, и в последние годы эта магия во многом возможна благодаря одной голландской компании, которая мало известна не профессионалам.

ASML — единственный в мире производитель промышленных станков фотолитографии в глубоком ультрафиолете. Каждый такой станок стоит сотни миллионов долларов, а список стран, которым разрешают их купить — большая политика.

В новом эпизоде подкаста мы узнаем, как устроены современные процессоры и проследим, как их производят. Гость — Диана Гришина, кандидат наук, работала в ASML.

Когда Диана описывает некоторые части процесса, у меня чувство, что я наблюдаю бесконечно большую «машину Голдберга», только каждый шаг — это сотни миллионов долларов инвестиций и десятки лет исследований.

Полный снос крыши.

Слушайте и подписывайтесь: Apple, Google, Яндекс, Spotify, Castbox, Overcast, веб-версия.

пост №1293

Долгое время главными производителями процессоров для компьютеров были компании Intel и AMD. Но в конце 2020 года Apple представила ноутбуки на своих собственных процессорах M1. Вместе с инженером из Intel Алексеем Корчиным разбираемся, как устроены процессоры, как их производят и почему компании Apple удалось сделать их эффективнее.

Слушайте и подписывайтесь: Apple, Google, Castbox, Spotify, Яндекс, Overcast, веб-версия.

Фото: Стив Джобс презентует переход маков на процессоры Интел и держит в руках ту самую кремниевую «вафлю», из которой нарезают процессоры. 2006 год.

пост №1213

Самая магическая технология 2020 года, с большим отрывом — это ноутбуки на новых процессорах M1 от Apple. Позавчера я купил себе такой MacBook Air.

(Два технических абзаца можно пропустить, если вы не гик)

🛠 Процессор — это главный вычислительный модуль компьютера. Бывают специальные железки для быстрого рендеринга видео или подсчета криптографии, но подавляющее большинство операций выполняются на центральном процессоре компьютера. Почти все современные компьютеры и ноутбуки, включая модели от Apple, работают на процессорах от Intel или AMD архитектуры x86 — прямых потомков тех самых 486-х. Мобильные телефоны используют совсем другое семейство процессоров — ARM, которые гораздо энергоэффективнее, но в среднем слабее x86.

Несколько месяцев назад Apple представил новые компьютеры на своем собственном процессоре M1. Это прямой потомок тех процессоров, на которые работают айфоны, архитектура ARM. Так же, как и у телефонов, M1 — это SoC, System on a Chip — система на чипе, то есть внутри одной железки соединены центральный процессор, видеокарта и множество других компонент. Технологии под капотом у этой штуки — восхитительные и заслуживают отдельного поста, но вернемся к сути.

⚡️ На этом ноутбуке не тормозит Notion. Повторяю, открытый в сафари Notion работает так же плавно, как нативные десктопные приложения. 🤯 Если бы сам не пользовался — не поверил бы.

То же самое с Facebook и Facebook messenger. Раньше я думал, что тормоза веба — они из-за сети или каких-то особенностей обработки DOM-дерева в браузере, которые в принципе не позволяют сделать веб-приложения с отзывчивостью, сравнимой с нативной. Это оказалось не так. Не хватало скорости процессора и скорости памяти.

Сколько душ инженеры Apple продали дьяволу для разработки этого компьютера? На этой машине современный веб не тормозит! Уверен, нехристи веб-разработчики уже за пару лет съедят это достижение, но 1) мы живем сегодня 2) остальные-то компы медленнее, так что особо не разгуляются. Как будто ракетный ранец надел.

Вот тут автор пытается объяснить, почему эти компьютеры так быстро работают: пишет об общей памяти для центрального процессора и видеокарты и о возможности процессора m1 выполнять операции более эффективно из-за более простой архитектуры ARM. В этой статье очень крутой график, на котором четко видно, как уже несколько лет процессоры Apple развивались с большой скоростью, чем процессоры Intel/AMD и что M1 — первый процессор после точки пересечения графиков, когда Apple догнал и перегнал x86. Как бы то ни было, результат — чистая магия.

🦄 И вот это «похоже на магию» — во всех частных обзорах, которые я видел. Программисты рассказывают, что эта малышка компилирует гигантские программы быстрее дорогущих мощных ноутбуков, даже не нагреваясь, будто всё работает на мощном сервере, а ты только по сети команды подаешь. Ютуберы говорят, что он не тормозит при обработке 4K видео! А ещё он больше одного дня живет от батарейки — можно перестать таскать с собой зарядку и заряжать его ночью, прямо как телефон.

И всё это за 1000 долларов 🚀 Прям новогодний подарок 🎅

Видео 2008 года, Джобс презентует первый MacBook Air (полная версия тут). За 12 лет у эйров радикально изменился разве что экран — он стал высокой четкости. Процессоры m1 — прорыв не менее впечатляющий, чем первая версия MacBook Air.

пост №918

Перейдём к развлекательной части.

Во первых, нужно отдать должное PR-департаменту Intel. Первую уязвимость обнаружили и сообщили о ней Intel в июне 2018. Да, год назад. Потом ее нашёл еще один независимый исследователь. Потом были все новые уязвимости. Intel умудрились не дать им выходить по мере обнаружения, но скомпоновать публикацию в один «пакет». Публика пакетно поохает-поахает и забудет через две недели. Представьте, если бы новости о таких серьёзных уязвимостях выходили каждые 4 месяца в течении года? Цукербергу есть чему поучиться у Intel. Справедливости ради, тут сыграла роль безупречная этика ученых-исследователей (да и правительства наверняка приложили руки, CERT-центры не зря хлеб едят).

Во вторых, получается, что настоящая компьютерная безопасность - это старый добрый airgapped (без связей со внешним миром) компьютер. Более практичная опция на текущий момент - айпад или айфон, но это уже давно понятно и без процессоров. У ARM-процессоров найдено меньше таких дырок (и они все-же менее «умные», чем процессоры от Intel).

В третьих, очень жду замеров производительности после применения всех необходимых патчей. Ходят слухи, что нужно выключать гипертрединг, а это почти поделить производительность надвое. Это должно ударить по облакам (они не смогут отмахнуться и посоветовать поставить менеджер паролей), придётся покупать больше железа для компенсации проседания производительности после применения патчей и может быть даже предоставлять больше возможности «вынести вычисления на изолированный процессор». Интересно, как отреагируют крупные игроки, начнут ли более активно покупать AMD и/или ARM? Стоит ли прикупить акции AMD?

В четвёртых, верю, что Intel медленно загнутся не из-за плохого пиара, а от того, что продолбали мобильный рынок и от того, что AMD работают как не в себя. Жалко, компания-эпоха.

пост №623

Если вы читаете это с телефона — то наверняка внутри у него процессор архитектуры ARM. Если с компьютера — то почти наверняка это процессор x86 от Intel или AMD. На подавляющем большинстве серверов — x86.

А вот Cloudlfare, одна из крупнейших CDN-сетей (читай сотни тысяч серверов) всерьез думает о крупной закупке ARM от Qualcomm.

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

И это важно.

ARM — архитектура, на которой работают почти все мобильные телефоны и планшеты. Она отличается от десктопных-«компьютерных» x86 процессоров относительной простотой, меньшей ценой и меньшим энергопотреблением. Жизнь батарейки в телефонах транслируется в стоимостью эксплуатации серверов.

Из минусов — одно ядро (логический модуль) ARM раньше было заметно медленнее, чем ядро x86, да и программы не были готовы к ARM. Для переноса программы на другую архитектуру нужно её перекомпилировать (механический процесс), а некоторые критичные части некоторых важных программ переписать на ассемблере для скорости работы.

Ещё несколько лет назад никто не смел покуситься на гегемонию x86 архитектуры (Intel & AMD). Кажется, что для части рынка серверных процессоров настают интересные времена — ARM догоняет x86 по производительности для некоторых задач, программы оптимизируются, экосистема растет. Надеюсь, скоро мы увидим очередную битву гигантов.

Мы в Медузе полтора года назад использовали ARM от Scaleway (у этого французского провайдера целый ДЦ на них), но сейчас вернулись на x86-64 от Online.net. При наших нагрузках (мы отдаем кучу статического TLS трафика) конкретно эти предложения дешевле, да и ПО для x86 гораздо более зрелое.

Уверен, что Яндекс и Google/Facebook тоже регулярно проводят схожие тесты свежих ARM-ов. Очень интересно, к каким выводам пришли они.

Ключевой график из ноябрьской статьи Влада Краснова

Broadwell & Skylake — Intel x86, Falcor — Qualcomm ARM https://blog.cloudflare.com/arm-takes-wing/

Свежий твит главы CF, «два сервера под одинаковой нагрузкой» https://twitter.com/eastdakota/status/976560820611031040

В твиттере довольно живой тред вопросов-ответов, рекомендую

пост №486

Гугл наконец-то опубликовал нормальный разбор «что делать», а то PR-опусы как исследователей безопасности (мы всё умрём) так и Intel (ничего не происходит) надоели.

Коротко: гугл починил у себя все три уязвимости и не заметил проседания производительности в продакшене.

Детали: CVE-2017-5753 нужно фиксить отдельно в каждом бинарнике, способном выполнять недоверенный код (читай браузеры, ОС и прочий JIT) — они не пишут, как именно это нужно делать; CVE-2017-5715 чинится обновлением CPU или перекомпиляцией важных бинарников (ОС и гипервизоры) компилятором, умеющим хитрый хак (Google назвал этот хак Retpoline и опубликовал его для GCC и LLVM); CVE-2017-5754 чинится обновлением ОС. Обратите внимание, что гугл не называет эти баги именами собственными, видимо не хочет добавлять хайпа.

На сладкое: status page проектов гугла относительно этих уязвимостей. Мы в Медузе не используем виртуальные машины (только baremetal, только хардкор) и у нас почти нет untrusted code execution, так что в этой серии я участвую только как зритель.

Продолжение истории: чуваки уже смогли эксплуатировать CVE-2017-5753 в Firefox для кражи паролей из джаваскрипта. Mozilla выпустил обновление только что. В обновлении они уменьшают точность таймеров и API получения времени до 20µs (sic, 20 микросекунд), пока не починят корень проблемы. Напомню, что атака основана на замере скорости выполнения операций процессором, так что не имея точного времени произвести её будет нельзя.

пост №484

Вчера ночью сняли эмбарго с информации об уязвимостях процессоров.

Как мы и ожидали, речь идёт о несанкционированном доступе к оперативной памяти. Грубо говоря, каждая программа на компьютере живет в своем изолированном мире. Используя эти уязвимости, программа-злоумышленник может подсмотреть, что там происходит у соседей.

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

Самих дыр не достаточно - нужно сочетание многих условий для того, чтобы извлечь из неё какую-либо «выгоду». Думаю, многие «исследователи» в кавычках и без занимаются этим вопросом прямо сейчас. Будет ли идти речь о таргетированных атаках, когда отсифонят секретные данные конкретной жертвы и используют их для дальнейших этапов атаки или о каких-то «массовых изъятиях денег у населения» - пока говорить рано. Поживём-увидим. (Я бы назвал эти уязвимости popcorn time)

Теоретически, этим атакам подвержены и наши персональные компьютеры и даже смартфоны. В софте регулярно находят ошибки, которыми пользуются злоумышленники в своих программах. Теоретически, эта ошибка на порядок больше остальных, но одной дырой больше, одной меньше, принципиальной разницы я пока не вижу. На деле, если вас угораздило запустить программу злоумышленника на своём компьютере или телефоне, вам все равно более-менее хана.

Строго говоря, речь идёт о 3 уязвимостях: bounds check bypass CVE-2017-5753, branch target injection CVE-2017-5715 и rogue data cache load CVE-2017-5754.

Интересно, что их одновременно нашли две независимые групп исследователей. Первая - звездный Project Zero из Google. Они отправили письма производителям процессоров ещё 1 июня (!) 2017. Вторая - группа исследователей из универов. Project Zero опубликовал классный технический разбор, а университеты максимально отработали PR-сторону, нагнав страху на массовую аудиторию «дизайнерским лендингом».

Боюсь показаться занудой, но включите автоматические обновления на всех своих устройствах. Против третьей из этих уязвимостей уже выпустили заплатки все крупнейший операционные системы, а по поводу первых двух CVE мы увидим ещё много обновлений самых разных программ. Применение патчей безопасности не должно требовать вмешательства пользователя, а Карфаген должен быть разрушен.

пост №483

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

Microsoft выпустила программный патч для Windows в ноябре. Патч к ядру Линукс от группы исследователей из технического университета Граза был окончательно принят разработчиками Linux буквально несколько дней назад. Изменения в исходном коде Linux доступны публике, но из них изъяты комментарии, объясняющие причины происходящего.

🍿🍿🍿

Патчи серьезно замедляют выполнение задач, связанных с большим числом переключения контекстов и прерываний. У одного из экспериментаторов производительность du упала почти в два раза (du — утилита, считающая объем дискового пространства, занятого файлами).

AMD утверждает, что их процессоры не имеют этой ошибки.

Супер разбор ситуации http://pythonsweetness.tumblr.com/post/169166980422/the-mysterious-case-of-the-linux-page-table

Краткий пересказ:

Указанные патчи к ядру Linux включают _kernel page-table isolation_. До этих изменений, таблица страниц (_page table_) ядра (таблица, содержащая схему перевода адресов виртуальной памяти ядра в адреса физической памяти) хранилась вместе с таблицей страниц пользовательского процесса. Пользовательским процессам эта таблица была не доступна. Это хак, но он позволяет не сбрасывать очень дорогие кеши процессора. По всей видимости, существует аппаратная ошибка в процессоре, позволяющая пользовательскому процессу прочитать, что же в этой таблице лежит.

Возможно, это timing attack, в которой измеряется время, необходимое менеджеру памяти процессора (MMU, Memory Management Unit) для того, чтобы получить физический адрес той или иной области памяти. Интересно, что другая команда исследователей из того же университета Граза буквально на днях представила доклад, где показала, как можно узнать адрес js-объекта в памяти из джаваскрипта именно через timing attack на MMU!

Пока я писал эти буквы, исследователь уже написал программу, позволяющую узнать адрес функции ядра в памяти! https://twitter.com/brainsmoke/status/948561799875502080?s=09

Так или иначе, одного этого кажется недостаточным для срочных патчей в режиме «горящей задницы». И тут мы вспоминаем третью недавнюю статью от группы исследователей из университета Граза (!). Есть так называемая Row hammer-атака. Современные DRAM-модули оперативной памяти имеют такую высокую плотность, что при обращении к определенным ячейкам памяти с высокой частотой, можно изменить данные в совершенно других областях памяти. Это происходит из-за электромагнитных наводок (!). В статье исследователи показали новую, более крутую эксплуатацию электромагнитного эффекта и успешно обошли все существующие методы защиты.

Если совместить вместе патч, доклад и факт, что в почтовой переписке разработчиков ядра Linux участвовали разработчики из Google и Amazon (два крупнейших поставщика облаков), разумно предположить, что речь идет об атаке, позволяющей злоумышленнику вылезти из виртуальной машины.

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

Запасаемся попкорном и ждём дальнейших подробностей. 2018 начинается очень интересно.

P.S. Бояться, что эта уязвимость затронет ваш персональный компьютер или телефон я бы пока не стал. Только включите автоматические обновления безопасности, а то будете потом локти кусать.

P.P.S. Ноябрьская новость, что глава Intel продал все свои акции Intel заиграла новыми красками.

пост №174

Security advisory уже никого не удивишь — мы видели уязвимости в OpenSSL и в ядре Линукс, не говоря уже об Андроидах или Windows. Но как вам уязвимость в процессорах, которую можно эксплуатировать как локально так и удаленно?

Короче, Escalation of Privilege Advisory (Intel Corp.) — самый страшный заголовок, который можно себе представить. Статья с таким заголовком была опубликована 20 часов назад на официальном сайте Intel.

Intel не раскрывает подробностей (sorry, script kiddies, уже готовые ломать всех подряд), но предлагает firmware update и mitigation guide призванные обезопасить владельцев уязвимых процессоров.

Уязвимость затрагивает только серверную линейку процессоров Intel (Xeon), а точнее — программу Intel Active Management Technology (AMT), запускающуюся на отдельном ко-процессоре Intel Management Engine. Это такой компьютер-в-компьютере, который всегда включен и управляет материнским компьютером без ведома его операционной системы и уж тем более — пользователя. Технология нужна для больших серверных ферм, где настраивать каждый сервер руками слишком дорого.

Прикол в том, что эта штука а) проприетарная, так что никто не знает, как именно она работает и не содержит ли закладок (привет АНБ и боящиеся её русские вояки) б) её нельзя выключить, вообще никак.

Известный фрик (зачеркнуто) пророк (зачеркнуто) активист Ричард Столлман ещё 4 года назад бил тревогу, что эта технология — путь в ад и вот, наконец, первая уязвимость. Сколько таких zero-days хранятся в запасе у АНБ, принимавших участие в разработке этих технологий - можно только догадываться.