ЦП
-
Хабрахабр
[Перевод] Как загружается процессор Intel x86
Когда мы включаем компьютер, он успевает совершить несколько этапов работы ещё до того, как загрузится операционная система. В этом посте будет рассмотрено, как загружается типичный процессор с архитектурой x86. Это очень сложный и многоступенчатый процесс. Здесь его структура будет представлена только в самом общем виде. От загрузочной прошивки зависит, каким именно путём процессор придёт к тому состоянию, в котором сможет…
Читать далее » -
Железо
[Перевод] Пишем и отлаживаем код для ARM64 на голом железе
Я немного изучил arm64 (aarch64) и решил: попробую написать для него код на голом железе.Я хотел понять, проанализировать и тщательно рассмотреть машинный код, который выдают на моём MacBook Air M1 такие среды исполнения WebAssembly, как v8 или wasmtime. Для этого я (немного) изучил ассемблер arm64. Коллега Саул Кабрера порекомендовал мне почитать книгу Стивена Смита «Programming with 64-Bit ARM Assembly Language»,…
Читать далее » -
Хабрахабр
[Перевод] Манипуляции с байт-кодом Java
В этой статье мы разберём, как добавить к файлу класса публичный атрибут. Когда загрузчик классов завершит загрузку модифицированного файла класса, мы увидим то поле, которое добавили вручную.После того, как компилятор Java обработает наш код, будет сгенерирован файл класса. В этом файле будут содержаться инструкции, записанные байт-кодом так, как это определено в спецификации Java. Тем не менее, это всего один физический…
Читать далее » -
Хабрахабр
[Перевод] Пишем кастомные CUDA-ядра на Triton
Triton – это языковой компилятор для создания сильно оптимизированных ядер CUDA. Здесь будут изложены основы программирования для GPU и рассказано, как для этой цели используется Triton. Учитывая нынешний успех глубокого обучения и вал исследовательских статей на эту тему, часто возникает такая ситуация: рождается какая-нибудь новая идея, и выясняется, что для нее не поддерживается аппаратное ускорение. Точнее, стоит вам изобрести новую…
Читать далее » -
Хабрахабр
[Перевод] Почему набор инструкций AVX 512 полезен для RPCS3?
Часто приходится слышать, что важность отличий между наборами инструкций на современных компьютерах преувеличена и, в самом деле, сложно не согласиться с таким наблюдением. Поскольку стандартная программа на 90 % состоит из простейших инструкций для АЛУ, загрузки и сохранения, а также инструкций ветвления, а также с учётом, что на таком базовом уровне разбежки между различными наборами команд очень невелики, такой вывод просто…
Читать далее » -
Хабрахабр
[Перевод] Знакомимся с дата-ориентированным проектированием на примере Rust
James McMurray В этом посте мы исследуем основные концепции «Data-Oriented Design» (далее «дата-ориентированное проектирование» на языке Rust.Весь исходный код для этого поста выложен на Github. Что такое дата-ориентированное проектирование? Дата-ориентированное проектирование – это подход к оптимизации программ, предполагающий, что расположение структур данных в памяти должно тщательно оптимизироваться. Также требуется учитывать, как такой подход отражается на автоматической векторизации и использовании кэша…
Читать далее » -
Хабрахабр
[Перевод] Знакомимся с дата-ориентированным проектированием на примере Rust
James McMurray В этом посте мы исследуем основные концепции «Data-Oriented Design» (далее «дата-ориентированное проектирование» на языке Rust.Весь исходный код для этого поста выложен на Github. Что такое дата-ориентированное проектирование? Дата-ориентированное проектирование – это подход к оптимизации программ, предполагающий, что расположение структур данных в памяти должно тщательно оптимизироваться. Также требуется учитывать, как такой подход отражается на автоматической векторизации и использовании кэша…
Читать далее » -
Хабрахабр
Что не так с Copy-on-Write под Linux при копировании
В данный момент это: BTRFS, XFS и OCFS2. Предупреждение: эта статья относится ко всем CoW файловым системам в Linux, поддерживающим reflink при копировании. Прошу воздержаться от холиваров о том какая ФС лучше: Btrfs, XFS, Reiser4, NILFS2, ZFS или какая-то неупомянутая. Предыстория 21 июля 2001 года — Namesys публикует анонс Reiser4. 20 ноября 2003 — Namesys публикует некоторые бенчмарки Reiser4. 24…
Читать далее » -
Хабрахабр
Команда cp: правильное копирование папок с файлами в Linux
В этой статье будут раскрыты некоторые неочевидные вещи связанные с использованием wildcards при копировании, неоднозначное поведение команды cp при копировании, а также способы позволяющие корректно копировать огромное количество файлов без пропусков и вылетов. Допустим нам нужно скопировать всё из папки /source в папку /target.Первое, что приходит на ум это: cp /source/* /target Сразу исправим эту команду на: cp -a /source/*…
Читать далее » -
Хабрахабр
Intel выпустит процессор с трехмерной архитектурой Foveros в 2019 году
Только вчера мы разбирались, почему медиа твердят о потере Intel доминирующей позиции на рынке и как на компании отразится внедрение Amazon собственного серверного ARM-процессора, как представители технологического гиганта сделали очередной крупный анонс. Во второй половине 2019 года технологический гигант планирует поставить на рынок новый тип процессоров с шагом каждого слоя 10 нм и 22 нм соответственно. Компания Intel представила новую…
Читать далее »