The state of SIMD in Rust in 2025
В 2025 году SIMD в Rust продолжает развиваться, предлагая значительный прирост производительности до 64x для операций с u8 на современных процессорах. Основная проблема - фрагментация наборов инструкций: ARM использует обязательный NEON (128 бит), WebAssembly - 128-bit packed SIMD, а x86 имеет сложную иерархию от SSE2 до AVX-512 (512 бит). Для x86 разработчики выбирают между указанием target-cpu (например, x86-64-v3) и использованием function multiversioning для поддержки различных процессоров.
В Rust существует четыре подхода к SIMD: автоматическая векторизация (самый простой), продвинутые итераторы, портируемые абстракции и сырые интринсики. В то время как ARM стандартизировал NEON, а WebAssembly требует компиляции двух бинарных файлов, x86 остается самой сложной платформой из-за множества расширений и необходимости обеспечения обратной совместимости.
Комментарии (128)
- Обсуждение показало, что Rust пока не может предложить стабильный и удобный способ работы с SIMD, в отличие от C# и C++.
- Основная причина —
std::simdвсё ещё в nightly, а стабильная альтернатива отсутствует. - Участники также отметили, что даже в ночной ветке API нестабилен и может измениться, что делает его использование в production-окружениях проблематичным.
- Некоторые участники выразили обеспокоенность тем, что отсутствие стабильной SIMD-поддержки может отпугнуть потенциальных пользователей Rust, особенно в областях, где эффективное использование SIMD критично.
- В то же время, другие участники подчеркнули, что Rust всё ещё молодой язык и что сообщество может в конце концов решить эту проблему, как это было с другими функциями в прошлом.
Myths Programmers Believe about CPU Caches (2018)
Инженер с опытом работы в Intel и Sun развенчивает популярные мифы о CPU-кэшах. Многие разработчики ошибочно полагают, что разные ядра могут иметь устаревшие значения в своих кэшах, а ключевое слово volatile в Java заставляет читать/писать данные напрямую в оперативную память. На самом деле, даже одноядерные системы подвержены проблемам конкурентности без правильных синхронизационных конструкций, а volatile-операции могут быть такими же быстрыми, как доступ к L1-кэшу (в 200 раз быстрее, чем к оперативной памяти), а не к основной памяти.
Современные CPU x86 поддерживают когерентность кэшей на аппаратном уровне через сложные протоколы, такие как MESI. Каждая строка данных в кэше помечается одним из состояний: Modified (измененные данные, источник правды), Exclusive (синхронизированные данные, нет копий в других кэшах) или Shared (синхронизированные данные, присутствуют в других кэшах). Понимание этих механизмов помогает лучше проектировать распределенные системы и избегать ложных представлений о производительности и конкурентности.
Комментарии (22)
Here's my favorite practically applicable cache-related fact: even on x86 on recent server CPUs, cache-coherency protocols may be operating at a different granularity than the cache line size. A typical case with new Intel server CPUs is operating at the granularity of 2 consecut
Encoding x86 Instructions
x86 инструкции действительно заслуживают название Complex Instruction Set Computer (CISC) из-за своей чрезвычайно сложной структуры. Инструкции могут достигать 15 байт в длину, включая префиксные байты, которые изменяют поведение существующих команд, а не расширяют opcode. Процессор поддерживает два основных типа opcode: стандартный 1-байтовый и расширенный 2-байтовый с префиксом 0Fh, что теоретически позволяет до 512 различных классов инструкций. Бит направления (d) в opcode определяет направление передачи данных, а бит размера (s) указывает на 8-битные (s=0) или 16/32-битные (s=1) операнды.
Ключевым элементом является MOD-REG-R/M байт, который определяет операнды и режимы адресации. Поле MOD указывает на режим адресации (00-11), REG определяет регистр (от AL до EDI в зависимости от размера данных), а R/M совместно с MOD указывает второй операнд или единственный операнд для команд вроде NOT. Общие регистры (EAX, EBX, ECX и др.) обеспечивают быстрый доступ к данным, так как процессор работает с ними значительно быстрее, чем с памятью. 32-битные регистры содержат в себе свои 16-битные и 8-битные аналоги, что позволяет гибко работать с данными разных размеров.
Комментарии (27)
- Обсуждение началось с размышлений о сложности кодирования инструкций в x86 и ARM64, где последний оказался значительно проще в этом плане.
- Участники обменялись ссылками и инструментами, включая вики-страницу "x86 is an octal machine" и репозиторий Paul Hsieh's.
- Была затронута тема эволюции процессора: сравнение 8086 и современных чипов, а также затрагивающая влияние на эффективность кода.
- Обсуждались трудности с кодированием инструкций в x86, включая непредсказуемость длины кода и сложность дешифрации.
- В итоге, участники сошлись на том, что эволюция процессора и архитектуры влияет на эффективность кода, и что важно адаптироваться к изменениям.
Linux VM without VM software – User Mode Linux
Linux-ядро может запускаться как обычный процесс в пространстве пользователя без использования традиционного ПО для виртуализации. Эта технология, известная как User Mode Linux (UML), позволяет создавать виртуальные машины без QEMU или прав суперпользователя. UML можно рассматривать как паравиртуализированную конфигурацию ядра, которая использует существующее ядро хоста и его функции пространства пользователя. Вместо прямого доступа к физическому оборудованию, UML использует файлы и сокеты для создания нового экземпляра ядра, способного запускать собственные процессы. Интересно, что драйверы в UML "просветлены" - они осведомлены о работе с виртуализированным оборудованием и могут оптимизировать взаимодействие.
Для сборки UML-ядра требуется платформа x86, где оно может работать поверх существующего x86-ядра. Процесс сборки начинается с команды ARCH=um make menuconfig, где можно настроить специальные опции UML. Важно включить опцию BLK_DEV_UBD, которая позволяет обращаться к файлам хоста как к блочным устройствам. После финализации конфигурации ядро собирается командой ARCH=um make -j16, создавая бинарный файл linux. Интересно, что этот файл является динамически связанным исполняемым файлом с библиотекой C, а не традиционным ядром, работающим напрямую с железом.
Комментарии (19)
- Использ /dev/urandom вместо /dev/zero при инициализации образа диска вызывает вопросы, так как неясно, какой практический смысл в этом есть при отсутствии шифрования.
- UML (User-mode Linux) позволяет запускать ядро как обычный процесс, но ограничен одним CPU и не поддерживает SMP, что ограничивает его практическое применение.
- Появление SKAS (Separate Kernel Address Space) и дальнейшее развитие виртуализации сделали UML менее актуальным, но он всё ещё может быть полезен как промежуточное решение между контейнерами и полноценными VM.
Show HN: MyraOS – My 32-bit operating system in C and ASM (Hack Club project)
Проект MyraOS представляет собой операционную систему Unix-подобного типа для архитектуры x86, созданную с нуля без использования стороннего кода. Автор проекта Dvir Biton разработал ядро системы, файловую систему, драйверы и пользовательские утилиты самостоятельно, что делает его впечатляющим достижением в области разработки ОС.
Система поддерживает базовые функции Unix, включая многозадачность, управление памятью и взаимодействие с пользователем через командную строку. Проект открыт на GitHub и может быть использован для образовательных целей или как основа для дальнейших разработок. Код написан на ассемблере и C, что обеспечивает эффективную работу на аппаратном уровне.
Комментарии (47)
- Проект получил много похвал за качество кода и полезность, но также вызвал критику за использование устаревших ресурсов и отсутствие современных инструментов.
- Участники обсуждали, что в 2025 году нужно обновить учебные материалы для новичков в разработке ОС, чтобы они не ориентировались на 32-битный x86 и устаревшие устройства.
- Предложения включали: предоставление ISO-образов для тестирования, создание обучающего видео, и сотрудничество с такими проектами как copy.sh.
- Также обсуждались проблемы, такие как управление памятью и отладка, и как они масштабируются в контексте разработки ОС.
- В конце обсуждение сошлось на то, что проект является вдохновляющим примером, но может быть улучшен с использованием современных практик и инструментов.
Compare Single Board Computers
sbc.compare — это платформа для сравнения одноплатных компьютеров (SBC), помогающая выбрать оптимальную платформу для проекта. Сайт предлагает обширные бенчмарки, технические характеристики и данные реальной производительности для сотен альтернатив, включая Raspberry Pi, Orange Pi и Radxa. Пользователи могут искать платы по архитектуре (ARM, x86, RISC-V), количеству ядер, объёму ОЗУ и цене, а также сравнивать до трёх устройств одновременно. На сайте представлены популярные сравнения, такие как Raspberry Pi 5 против Pi 4 или Orange Pi 5B.
Платформа особенно полезна для принятия решений об обновлении оборудования — например, при выборе между сохранением Raspberry Pi 4 или переходом на более новую модель. Интерфейс интуитивно понятен: поиск нужных плат, добавление их в список сравнения и детальный анализ различий в производительности. Ресурс охватывает как широко известные модели, так и менее популярные альтернативы, предоставляя пользователям полную картину доступных на рынке решений.
Комментарии (75)
- Пользователи обсуждают, что для встраиваемых проектов важнее всего поддержка периферии и ПО, а не «сырой» производительности, и отмечают, что у большинства SBC его нет.
- Создатель сайта отвечает, что в базе уже есть фильтры по Wi-Fi, Ethernet, PoE и прочим интерфейсам, но пока не хватает данных; обещает, что как только они появятся, появится и поиск по ним.
- Участники обсуждают, что Raspberry Pi и прочие SBC не подходят для промышленного применения из-за отсутствия гарантий и долгосрочной поддержки.
- Создатель сайта отвечает, что вендоры вроде Radxa и Libre Computer предлагают альтернативы, и что у них есть модули вычислений и стандартые 40-pin GPIO.
- Пользователи жалуются на отсутствие в списке таких девайсов как Orange Pi 5 и что не все модели отображаются корректно.
- Создатель сайта отвечает, что он не может найти Orange Pi 5 и что он не может добавить новые платы, пока не будет у него полные спецификации.
Mysterious Intrigue Around an x86 "Corporate Entity Other Than Intel/AMD"
В Linux-сообществе появился интригующий вопрос о новом игроке на рынке x86-совместимых процессоров. Известный эксперт Кристиан Лудлофф сообщил, что некая "корпоративная организация, не являющаяся Intel или AMD", активно использует ряд специфических x86-инструкций и регистров — тех, что десятилетиями не использовались в мейнстриме. Это заставляет задуматься, кто же этот новый игрок. Возможно, это китайская компания Zhaoxin, разрабатывающая собственные процессоры, или же что-то более экзотическое, вроде проекта от Google или другого техногиганта.
Особенно интересно, что Лудлофф упомянул о необходимости избегать конфликтов с этим новым игроком — это намекает, что речь идет о серьезном проекте, а не просто об академическом эксперименте. Ведь если бы это была просто исследовательская группа, вряд ли бы они стали беспокоиться о конфликтах инструкций с существующими продуктами. Также примечательно, что запрос пришел через надежные источники (Лудлофф известен в сообществе) и касается именно production-использования, а не эксперимента.
Сам факт, что новая сущность работает с такими низкоуровневыми компонентами, как управление памятью (MSR — модель-специфичные регистры) и расширениями набора инструкций (opcode), говорит о серьезности проекта. Это не просто какое-то приложение; это что-то, что требует глубокой интеграции с оборудованием. Возможно, это новый тип ускорителя для AI или что-то вроде того, что делает Apple со своими M-чипами, но для x86.
В любом случае, это напоминание о том, что x86 — это не только Intel и AMD. Архитектура продолжает развиваться, и новые игроки могут приносить инновации. Возможно, мы на пороге нового витка в "войне процессоров", как это было в 90-х. Только время покажет, но интрига определенно захватывает.
Комментарии (66)
- Патенты и лицензии на x86 архитектуру всё ещё действуют, несмотря на то, что они обсуждаются как устаревшие.
- VIA, AMD и Intel имеют перекрёстные лицензии, что делает невозможным для других компаний легально производить процессоры совместимые с x86.
- Существуют ли другие компании, кроме AMD и Intel, которые могут легально производить x86 процессоры? Возможно, что нет.
- Cyrix и National Semiconductor были приобретены в 1999 году, и их технологии стали частью AMD и VIA соответственно.
- Существуют ли другие компании, которые могут производить x86 процессоры?
ChkTag: x86 Memory Safety 🔥 Горячее
—
Комментарии (138)
- Появление аппаратной поддержки тегирования памяти в x86-64 — это ответ на уже существующие технологии ARM64 (MTE) и Apple (MIE), а не новая идея.
- Технически это не более чем перенос существующих подходов на x86-64, но важно, что это может быть сделано опционально и не сломает существующий код.
- Поддержка тегирования памяти в x86-64 может быть реализована в виде набора инструкций, которые будут использоваться компилятором и стандартной библиотекой, чтобы обеспечить безопасность кода, написанного на C/C++.
- Это не решит проблему безопасности памяти в целом, но может помочь в обнаружении ошибок и предотвращении эксплойтов.
Interviewing Intel's Chief Architect of x86 Cores
Intel представила новые архитектуры процессоров Panther Lake и Clearwater Forest с улучшенными P-ядрами Cougar Cove и E-ядрами Darkmont. В интервью главным архитектором x86 ядер Стивеном Робинсоном обсуждались ключевые улучшения в Skymont (предшественник Darkmont), включая увеличение глубины внеочередного выполнения на 50%, переход с 2 до 3 портов загрузки и удвоение векторного оборудования (с 2 до 4 FMA). Интересной особенностью стало решение использовать 4 порта сохранения вместо 3, что снижает задержки при разрешении конфликтов между загрузками и сохранениями.
В архитектуре Darkmont реализован новый подход к дизамбигуации памяти без использования больших таблиц истории, а вместо этого анализируя inherent информацию инструкций для определения связей между загрузками и сохранениями. Робинсон отметил, что эти улучшения направлены на повышение "coverage" - способности эффективно обрабатывать больше рабочих нагрузок на E-ядрах, что повышает общую эффективность платформы.
Комментарии (17)
- Интервью вызвало критику за отсутствие технического содержания и стиль подачи, что вызвало сравнение с Jim Keller и упоминание о "contentless".
- Участники обсуждали, что транскрипт был отредактирован для читаемости, но при этом не содержит новой информации.
- Были подняты вопросы о том, что компания, получающая финансирование от правительства США и NVIDIA, не может быть источником глубокого технического инсайта.
- Обсуждалось, что навык публичного выступления и знание предмета - это разные навыки, и критика интервью за его стиль подачи не обязательно отражает техническую экспертизу спикера.
Resizeable Bar Support on the Raspberry Pi
Ты точно пишешь в течение 2-5 минут, что меньше, что в течение 7-10 минут, и ты уже имеешь немного больше времени на это, потому что ты используешь, чтобы вставлять вкладывать в правильные места, потому что ты пишешь, ты пишешь, ты пишешь, ты пишешь, ты можешь видеть, что ты хочешь видеть, ты смотришь на свой экран, и ты видишь, что ты пишешь, и ты смотришь на свой экран, чтобы увидеть, что ты пишешь, ты смотришь на свой экран и смотришь на свой экран, ты можешь видеть, что ты пишешь, ты пишешь, и ты смотришь на свой экран, ты смотришь на свой экран, ты смотришь на свой экран, ты видишь, ты смотришь на свой экран, ты можешь видеть, и ты смотришь на свой экран, ты можешь видеть, ты смотришь на свой экран, и вы смотришь на свой экран, вы видите, и вы смотришь на свой экран, вы можете видеть, но вы не видите, что вы делаете, потому что вы не видите, потому что вы делаете, потому что вы не делаете, потому что вы делаете, потому что вы делаете, и вы делаете, что вы делаете, что вы делаете, потому что вы делаете, что вы делаете, но вы делаете, что вы делаете, что вы делаете, но вы делаете, что вы делаете, что у вас есть.
Комментарии (31)
- Пользователи обсуждают проблемы с Raspberry Pi 5, включая отсутствие поддержки USBC PD, проблемы с питанием и отсутствие поддержки Resizeable BAR.
- Обсуждается влияние этих проблем на пользователей и их ожидания от новых моделей.
- Участники также обсуждают различия между ARM и x86 в контексте этих проблем.
- Обсуждается влияние этих проблем на различные сценарии использования, включая домашние лаборатории и образовательные цели.
- Участники также обсуждают влияние этих проблем на разработчиков и их способности эффективно использовать оборудование для их проектов.
Комментарии (45)
- Дискуссия разворачивается вокруг старых обвинений в адрес языка C и архитектуры x86, но участники быстро указывают, что стековые инструкции и концепция вызова функций существовали задолго до C и даже были запатентованы в 1957 году.
- Спор уходит в сторону от предмета: автор статьи не предлагает никакой альтернативы, кроме как упоминания о "сообщениях" без каких-либо деталей.
- Участники также отмечают, что статья игнорирует такие факторы как тепловой бюджет, параллелизм и стоимость транзисторов.
- В итоге обсуждение сводится к тому, что критика не предлагает никакой конструктивной альтернативы и что современные CPU не оптимизированы под конкретные задачи, но и под общий набор инструкций, что делает их универсальными.
How to create an OS from scratch
Этот репозиторий содержит пошаговое руководство по созданию операционной системы с нуля на языке C и ассемблере. Он охватывает основы загрузки, управления памятью, прерываний и файловых систем, предлагая практический опыт низкоуровневого программирования.
Проект структурирован как серия уроков, каждый из которых добавляет новую функциональность, начиная с простого загрузчика и заканчивая многозадачностью. Это отличный ресурс для понимания внутреннего устройства ОС и работы с аппаратным обеспечением напрямую.
Комментарии (69)
- Создание ОС с нуля на базе устаревшего BIOS и x86 рассматривается как учебный, но непрактичный путь, погружающий в исторические детали архитектуры вместо современных концепций.
- Многие проекты ОС остаются незавершенными из-за сложности поддержки железа и драйверов, что является рутинной и нетривиальной задачей.
- В качестве более актуальных альтернатив предлагаются подходы с использованием микрокернелов, современных архитектур (RISC-V, ARM) или существующих педагогических ОС (xv6).
- Рекомендуется начинать с изучения авторитетных источников (например, wiki.osdev.org) и современных туториалов, избегая устаревших материалов с пробелами и ошибками.
- Разработка ОС углубляет понимание распределенных систем, планирования и кэширования, что полезно для инженеров, даже если они не планируют писать ядро.
IBM Intellistation 185 AIX workstation (2016)
IBM IntelliStation POWER 185, выпущенный в 2006 году, использовал процессоры PowerPC 970MP, хотя часто ошибочно причислялся к линейке POWER5. Несмотря на то, что более старшая модель 285 уже применяла DDR2 и POWER5+, 185 откатился к DDR1 и отказался от чипов POWER, вероятно, из-за переиспользования наработок System p5 185 (7037-A50). Это позволило создать менее энергоёмкую и более тихую рабочую станцию с полной совместимостью AIX, которая широко использовалась в госучреждениях и инженерных фирмах США и Японии.
Ключевая особенность системы — аппаратная виртуализация через firmware, что отличает её от Power Mac G5 с тем же CPU. Вероятно, поддержка виртуализации в PowerPC 970MP была добавлена именно по требованию IBM для System p5, тогда как Apple её не использовала. Интересно, что 970MP здесь работал в одноядерном режиме — либо через скрытый переключатель, либо через прошивку, чтобы снизить тепловыделение и позволить использовать компактный кулер. Для «двуядерности» IBM предлагала установить второй такой же чип.
Комментарии (37)
- Ностальгические воспоминания о надежности и гибкости UNIX-систем (AIX, HP-UX) и проприетарных рабочих станциях (IBM, SGI, Sun) эпохи до доминирования Linux.
- Основное преимущество перед Windows XP: специализированное ПО для CAD (например, CATIA V4) и инженерных задач, лучшая производительность, поддержка большего объема памяти и повышенная безопасность.
- Обсуждение технических особенностей архитектуры PowerPC и AIX, включая управление памятью, работу с графикой и редкие особенности вроде валидного нулевого адреса памяти.
- Закат эры проприетарных UNIX-рабочих станций к концу 2000-х из-за конкуренции с более дешевыми и массовыми решениями на x86/Linux и Windows.
- Отдельные комментарии о неудобствах администрирования AIX и использовании специфического периферийного оборудования (трекболов).
Athlon 64: How AMD turned the tables on Intel 🔥 Горячее 💬 Длинная дискуссия
AMD совершила стратегический прорыв в 2003 году, выпустив Athlon 64 — первый 64-битный процессор x86, который заставил Intel отказаться от собственного проекта Itanium и последовать за конкурентом. Intel изначально не хотела расширять x86 до 64 бит из-за архитектурного наследия и предпочла бы начать с чистого листа, создав более эффективный Itanium, но он провалился из-за отсутствия обратной совместимости и слабой поддержки софта.
AMD пошла на риск, понимая, что Itanium угрожает её существованию, и предложила рынку плавный переход: пользователи могли работать с 32-битными приложениями на полной скорости, а позже перейти на 64-битные ОС без потери совместимости. Это сработало — Microsoft поддержала архитектуру, а рынок оценил удобство. Athlon 64 не только выжил, но и заставил Intel лицензировать технологию AMD, что изменило расстановку сил в индустрии.
Комментарии (221)
- Intel разработала собственные 64-битные расширения для x86 (Yamhill) ещё до AMD64, но отказалась от их внедрения из-за опасений конкуренции с Itanium (IA-64).
- Ключевым фактором успеха AMD64 стала обратная совместимость с существующим x86-софтом, в отличие от радикально новой и несовместимой архитектуры Itanium.
- Переломным моментом стало доминирование AMD с Athlon 64, однако Intel позже вернула лидерство с архитектурой Core, а затем вновь уступила с приходом AMD Zen.
- Решение Microsoft отказаться от поддержки 16-битного кода в 64-битных Windows было технически обосновано ограничениями AMD64, а не маркетинговым выбором.
- Разработка AMD64 велась с учётом опыта других архитектур (например, DEC Alpha) и включала устранение ряда недостатков x86, таких как малое количество регистров.
Kernel: Introduce Multikernel Architecture Support
Предложена архитектура мультиядра, позволяющая запускать несколько независимых экземпляров ядра Linux на одной физической машине с выделенными CPU-ядрами и общими аппаратными ресурсами. Это обеспечивает улучшенную изоляцию сбоев, повышенную безопасность и более эффективное использование ресурсов по сравнению с традиционными виртуальными машинами.
Ключевые компоненты включают расширенную подсистему kexec для загрузки образов, фреймворк межъядерного обмена сообщениями через IPI и механизмы инициализации CPU для x86. Реализация сохраняет обратную совместимость и добавляет интерфейс /proc/multikernel для мониторинга. Пока это черновая версия, требующая тестирования и доработки, но открывающая возможности для zero-down обновлений ядра и новых сценариев изоляции workload'ов.
Комментарии (49)
- Обсуждаются технические сложности совместного использования аппаратных ресурсов несколькими ядрами, включая управление состоянием драйверов, DMA и аппаратными синглтонами (PCI, ACPI).
- Проводятся параллели с существующими архитектурами и проектами: exokernel, Barrelfish OS, OpenVMS Galaxy, CoLinux, Kerrighed и LPAR на мейнфреймах IBM.
- Поднимаются вопросы безопасности: потенциальные уязвимости при совместном доступе к памяти через DMA, отсутствие изоляции между доверенными ядрами и ограниченный периметр атаки при компрометации одного ядра.
- Отмечаются потенциальные преимущества: улучшенная изоляция сбоев (устойчивость к паникам ядра), высокая производительность без накладных расходов виртуализации и возможность запуска разнородных ОС (Linux и BSD).
- Упоминается коммерческий контекст: автор работает над этим в рамках стартапа multikernel.io, что вселяет надежду на понимание производственных сложностей.
Nvidia buys $5B in Intel 🔥 Горячее 💬 Длинная дискуссия
Nvidia и Intel объявили о совместной разработке процессоров Intel x86 RTX SOC для ПК с графикой Nvidia, а также о создании пользовательских серверных процессоров x86 от Nvidia. В рамках масштабной сделки Nvidia приобрела акции Intel на сумму $5 млрд.
Комментарии (568)
- Опасения по поводу негативного влияния на конкуренцию: инвестиции Nvidia могут угрожать развитию графического подразделения Intel (Arc), которое сдерживает цены на GPU и важно для Linux-сообщества.
- Стратегический интерес Nvidia: сделка может быть направлена на получение доступа к производственным мощностям Intel (фабрикам) и созданию гибридных решений (CPU + GPU), а не на прямую конкуренцию на рынке видеокарт.
- Политический и экономический контекст: инвестиции могут быть продиктованы желанием правительства США поддержать национального производителя полупроводников и диверсифицировать цепочки поставок.
- Исторические параллели: сравнение со сделкой Microsoft и Apple в 1997 году, которая спасла последнюю, и надежды на аналогичный положительный исход для Intel.
- Влияние на архитектуру и рынок: возможный сдвиг в сторону интеграции графики в SoC (системы на кристалле) и потенциальные риски для x86-64 лицензирования Intel.
Orange Pi RV2 $40 RISC-V SBC: Friendly Gateway to IoT and AI Projects
Orange Pi RV2: доступный RISC-V компьютер для IoT и AI проектов
Orange Pi RV2 — это бюджетный одноплатный компьютер (SBC) с 8-ядерным RISC-V процессором, предназначенный для разработчиков, энтузиастов и профессионалов. Стоимостью от $40, он предлагает энергоэффективность, слоты NVMe, GPIO-интерфейс и поддержку AI-задач.
Хотя плата отлично подходит для IoT и автоматизации, она не заменяет настольный ПК из-за ограниченной поддержки ПО. Orange Pi RV2 сочетает доступность и инновации, открывая возможности для экспериментов в области RISC-V.
Комментарии (82)
- Ubuntu для RISC-V процессоров без поддержки RVA23 застряла на версии 24.04 без дальнейших обновлений, официального образа Debian также нет.
- Программная поддержка и документация на оборудование, особенно от Orange Pi, критикуются за недостаточность и неудовлетворительное качество.
- Производительность RISC-V SBC, включая Orange Pi RV2, оценивается как низкая по сравнению с аналогичными по цене ARM-платами, такими как Raspberry Pi.
- Основными покупателями одноплатных компьютеров (SBC) считаются энтузиасты и разработчики, работающие с RISC-V, а также рынки Китая и Тайваня.
- Многие SBC, включая RISC-V и ARM, имеют распаянную память, что ограничивает возможности апгрейда; редкие модели с слотами встречаются среди x86-решений.
- Потенциал платформы RISC-V видится в её открытости и отсутствии привязки к вендору, несмотря на текущие проблемы с производительностью и поддержкой.
- Платы часто используются для нишевых задач, прототипирования и в качестве домашних серверов, где не требуется высокая производительность или актуальное ПО.
486Tang – 486 on a credit-card-sized FPGA board
486Tang — 486 на FPGA размером с банковскую карту.
Вчера выложил на GitHub 486Tang v0.1: порт ядра ao486 (MiSTer) на китайскую Tang Console 138K. Первый запуск x86 вне Altera.
Архитектура
- SDRAM вместо DDR3: 16-бит, читаем по 32 бита за такт (2× частота).
- IDE на SD: BIOS, VGA-BIOS, CMOS и IDENTIFY в первых 128 КБ карты; загрузчик FPGA читает их сам.
- DDR3 отдана только фреймбуферу.
Отладка
- Verilator: загрузка до DOS за минуту, полные вейвформы.
- Bochs-BIOS пишет в порт 0x8888; вывод в терминал симулятора и UART.
- Флаги
--sound,--ideдля быстрого трассирования подсистем. - 90 % багов — новый «клей»; пара сломалась из-за странного поведения синтезатора Gowin.
Производительность
Из коробки — 25 МГц 386-уровня.
Ускоряли:
- Разбили сеть сброса (5 000 фан-аут → репликация вручную).
- Укоротили путь выборки: в
decoder_regs.vвынесли расчётconsume_countиз критического пути, добавив регистр. - Проверяли изменения тестом test386.asm.
Цель — 33 МГц 486DX2.
Комментарии (51)
- Проект реализует 486 на FPGA с DDR3-памятью; автор признаёт, что эпохе соответствовали бы FPM/EDO, но SDRAM проще синхронизировать.
- Логики занято 44 %, BRAM — 59 %, место для периферии ещё есть.
- «Живые» 486-совместимые чипы сейчас — Vortex86, устаревшие Quark, Eden; китайские «586»-SoC пока редки.
- DDR3 имеет минимальную частоту, поэтому для ретро-проектов её приходится подстраивать, в отличие от старой SDRAM.
- Сообщество мечтает о кредито-карточной плате в корпусе Amiga-600, способной запускать DOOM и, теоретически, HL1.
SkiftOS: A hobby OS built from scratch using C/C++ for ARM, x86, and RISC-V 🔥 Горячее
skiftOS
Включите JavaScript для работы приложения.
Комментарии (88)
- За 6 лет автор SkiftOS написал микроядро, загрузчик, графическую оболочку, UI-фреймворк и даже движок браузера.
- Код на современном C++ (модули, async, co_await) и выглядит очень чисто; вдохновение Rust заметно.
- Система CPU-рендеринг, GPU — в планах; сеть пока только HTTP, без HTTPS.
- Безопасность: приложения не видят всю память и железо, драйверы в userspace, доступ по capability.
- Собрать можно под Linux/macOS (
./skift.sh run --release <app>), но полный билд сейчас сломан. - Автор признаёт: почти не было личной жизни, помощь была лишь с движком браузера.
Analyzing the memory ordering models of the Apple M1
- Цель: сравнить на M1 две модели упорядочения памяти: «слабый» ARM и x86-совместимый TSO, используемый эмулятором Rosetta 2.
- Метод: прогон SPEC2017 CPU FP и синтетические тесты.
- Результат: TSO медленнее ARM на 8,9 % в среднем; пиковые потери до 30 % на синтетике.
- Причина: чаще срабатывают барьеры памяти и дорогие атомарные инструкции ARMv8.3.
Комментарии (48)
- На M1 кэш-линия выдаётся как 128 Б в macOS, но 64 Б в Linux и измерениях — разница вызвала удивление.
- Авторы включают режим x86-TSO на ARM и фиксируют среднее падение производительности 9 % (SPEC) и до 2× в синтетике.
- Участники спорят: 9 % кажется огромным, возможно, реализация TSO у Apple не оптимальна.
- Напоминают, что x86 всё ещё быстрее ARM в высокопроизводительных задачах, возможно, за счёт других оптимизаций.
- Обсуждают, стоит ли Apple дальше улучшать TSO или выкинуть эту совместимость в новых чипах.
AMD claims Arm ISA doesn't offer efficiency advantage over x86 💬 Длинная дискуссия
- AMD на IFA-2025: «x86 уже не менее экономичен, чем Arm»
- Компания уверена, что ноутбуки на Ryzen и Core живут столько же, сколько Arm-решения, при этом сохраняют совместимость с огромной экосистемой x86
- AMD считает, что энергоэффективность определяется не архитектурой, а всей платформой: ядро, GPU, память, ПО
- Проект K12 на Arm был закрыт: выгоды от перехода на другой ISA оказались несоразмерны потерям совместимости
Комментарии (366)
- Эксперты сходятся: ISA (x86, ARM, RISC-V) почти не влияет на энергоэффективность; решают микроархитектура, техпроцесс, uncore, PMIC и ОС.
- Apple M — лидер не из-за ARM, а благодаря интеграции памяти, тонкому управлению питанием и приоритету эффективности.
- Современные x86 (Lunar Lake, Strix Halo) подтянулись по idle, но при нагрузке всё ещё уступают M4 в производительности/Вт.
- ARM-системы всё ещё страдают от хаоса загрузки (no UEFI, vendor-kernel), тогда как x86/PC стандартизированы с BIOS/UEFI.
- Для мелких ядер (MCU) простой ISA важен; для высокопроизводительных ядер декодер «съедает» <1 % площади и энергии.
- Всё сводится к реализации: тот же GCC на x86 генерирует RISC-подобные инструкции, а различия даёт предсказатель, кэши, техпроцесс.
How to slow down a program and why it can be useful
-
Зачем замедлять программу?
Искать race-conditions, «виртуально» оценить выгоду оптимизации (как в Coz) и проверять точность профилировщиков. Для этого меняют расписание потоков или вставляют задержки. -
Как замедляют сейчас?
Грубо:Thread.sleep, остановка потоков, вставка лишнего байт-кода. Это снижает точность. -
Наша идея
Вставлять задержки внутри basic block на уровне x86. Нужны инструкции, которые:
– надёжно тратят циклы;
– не искажают семантику;
– не оптимизируются CPU за счёт out-of-order. -
Проблема
Современные процессоры выполняют независимыеmovпараллельно, поэтому просто добавить «тяжёлые» команды недостаточно — нужно учитывать зависимости и микроархитектуру.
Комментарии (50)
- Используются разные способы замедления: от NOP-циклов и RDTSC до AVX-нагрузок и «тормозных» устройств вроде C64 Snail или Turbo-кнопки.
- Замедление помогает выявлять N+1-запросы, неработающие кеши и другие узкие места, которые на быстрых машинах незаметны.
- Современные CPU оптимизируют NOP/MOV на стадии переименования, поэтому они плохо подходят для точного контроля времени.
- Causal-profiling (Coz) и специальные прокси (Toxiproxy, dummynet) позволяют «ускорять» выбранный код, оставляя остальное медленным, чтобы заранее оценить выгоду оптимизации.
QEMU 10.1.0
- Удалено: устаревшие устройства
sgaиxenfv; опция-no-user-config. - Новые пометки:
-machine dump-guest-core=on,query-cpus-fast,query-cpu-definitions– deprecated.
Архитектуры
- 68k: поддержка
q800иmacos9. - ARM: новые SoC
imx8mn,stm32h735,xlnx-zynqmp-ep108; машиныmps3-an547,raspi5; эмуляция FEAT_SVE2, FEAT_MTE2, FEAT_LSE2. - RISC-V: добавлены
zacas,sstc,svadu,smstateen; машиныspike-1.11,microchip-polarfire. - x86: AMD SEV-SNP, Intel AMX, AVX-VNNI; KVM-TCG совместимость.
Устройства
- ACPI: поддержка SRAT для NVDIMM.
- Audio: Intel HDA теперь 24-бит.
- Block: virtio-blk/SCSI –
discard=unmap,write-zeroes=unmap. - Graphics: virtio-gpu – 3D, virglrenderer 1.0.
- NVMe: CMB, PMR, ZNS.
- PCIe: SR-IOV, ARI, ATS, PASID.
- USB: xHCI – USB 3.2 SuperSpeed+.
Прочее
- Multi-process:
x-vhost-user-fsиvhost-user-vsockтеперь в отдельном процессе. - Сеть:
vhost-vdpa– offloading checksum/TCP.
Комментарии (38)
- QEMU восхищает пользователей: «просто работает», хорошо интегрируется и кажется «магией».
- Его применяют для dev-окружений, запуска ПО на других ОС, разработки новых ОС, а также в облаках.
- KVM ускоряет QEMU, предоставляя аппаратную виртуализацию через page-tables и trap-механизмы.
- Появилась экспериментальная сборка в WASM, что открывает онлайн-песочницы для разных архитектур.
- Поддерживается запуск Android-VM (Cuttlefish, официальный Android-emulator на базе QEMU).
- Утилиты вроде QuickEMU и UTM упрощают запуск ВМ, а пожертвования идут через Software Freedom Conservancy.
Ask HN: Why hasn't x86 caught up with Apple M series? 🔥 Горячее 💬 Длинная дискуссия
—
Комментарии (418)
- Apple опережает благодаря вертикальной интеграции: единое ядро macOS/iOS, SoC-архитектура, память на подложке, отсутствие легаси-инструкций и тонкая настройка всего стека «железо-ОС-приложения».
- x86-платформе мешают обратная совместимость, разные OEM-вендоры, сменные модули памяти (DDR вместо LPDDR) и необходимость оптимизировать под сотни конфигураций.
- AMD уже приблизилась: Ryzen AI Max 395+ в Framework Desktop почти догоняет M4 Pro по производительности и энергоэффективности, но пока не вышла в лэптопах.
- На практике большую роль играет ОС: Linux-ноутбуки часто теряют до 2× времени автономности из-за драйверов, Chrome, GPU-ускорения и отсутствия агрессивных профилей энергосбережения.
- Итог: догнать M1/M4 «на бумаге» уже почти возможно, но сопоставимый реальный опыт потребует либо закрытой экосистемы, либо множества доработок в прошивке, драйверах и ПО.
Intel Foundry Demonstrates First Arm-Based Chip on 18A Node
Intel показала первый чип на базе Arm, изготовленный по техпроцессу 18A
Intel Foundry продемонстрировала работающий прототип процессора на архитектуре Arm, произведённый по самому продвинутому на сегодня узлу 18A. Это первый публичный пример совместной разработки Intel и Arm, демонстрирующий совместимость технологий и готовность Intel к массовому производству заказных чипов сторонних клиентов.
Тестовый образец использует стандартные библиотеки ячеек Arm и показывает стабильную работу на частотах, соответствующих целевым спецификациям. Intel подтвердила, что технология RibbonFET и PowerVia, заложенные в 18A, обеспечивают необходимую плотность транзисторов и энергоэффективность для мобильных и серверных решений.
Партнёры уже получили доступ к PDK и начали проектирование собственных продуктов. Коммерческие партии ожидаются во второй половине 2025 года.
Комментарии (71)
- Intel показала образец ARM-чипа, чтобы доказать сторонним заказчикам работоспособность своего процесса 18A и начать массовое производство.
- Для выживания фабрикам Intel нужны внешние клиенты, поскольку продажи собственных x86-чипов больше не покрывают стоимость новых узлов.
- Участники сомневаются, что кто-то рискнет заказать партию у Intel вместо проверенных TSMC/Samsung, и предлагают большие скидки первым клиентам.
- Аргументируют, что Apple, Nvidia или правительство США могут профинансировать Intel, чтобы разбить монополию TSMC.
- Некоторые считают, что Intel рано бросает проекты, и не верят в долгосрочную стратегию компании.
Tribblix – The Retro Illumos Distribution
Tribblix — ретро-дистрибутив на базе illumos от Питера Трибла.
Свежее: 13 июля 2025 — релиз Milestone 37 (x86, варианты Vanilla и LX).
SPARC: 29 июля 2025 — обновление m32→m33; свежие установки пока через m32 ISO.
SPARC-CD: 15 мая 2025 — ISO m32 помещается на CD.
Поддержка 32-битного железа полностью прекращена. SPARC-версия тестируется слабо, x86 стабилен.
Скачать, установить и использовать можно по ссылкам на сайте.
Комментарии (31)
- Участники обсуждают нишевые ОС (Tribblix, Dragonfly BSD, Haiku, RISC OS, 9front, MINIX) и их «невидимость» на фоне мейнстрима.
- Solaris Zones/LX-контейнеры хвалят за удобство, но установка Illumos-дистрибутивов часто страдает из-за проблем с USB3 и современным «железом».
- Поднимается идея слоя совместимости Linux-драйверов, но критика: это влечёт GPL-проблемы и наследование архитектурных ограничений Linux.
- Совместимость ZFS: пулы Illumos читаются Linux/FreeBSD, но не наоборот, если используются новые фич-флаги OpenZFS.
- Tribblix предлагает 30+ оконных сред, включая CDE и OpenLook, но без старого DeskSet.