ЦП

  • ХабрахабрФото [Перевод] Как загружается процессор Intel x86

    [Перевод] Как загружается процессор Intel x86

    Когда мы включаем компьютер, он успевает совершить несколько этапов работы ещё до того, как загрузится операционная система. В этом посте будет рассмотрено, как загружается типичный процессор с архитектурой x86. Это очень сложный и многоступенчатый процесс. Здесь его структура будет представлена только в самом общем виде. От загрузочной прошивки зависит, каким именно путём процессор придёт к тому состоянию, в котором сможет…

    Читать далее »
  • ЖелезоФото [Перевод] Пишем и отлаживаем код для ARM64 на голом железе

    [Перевод] Пишем и отлаживаем код для ARM64 на голом железе

    Я немного изучил arm64 (aarch64) и решил: попробую написать для него код на голом железе.Я хотел понять, проанализировать и тщательно рассмотреть машинный код, который выдают на моём MacBook Air M1 такие среды исполнения WebAssembly, как v8 или wasmtime. Для этого я (немного) изучил ассемблер arm64. Коллега Саул Кабрера порекомендовал мне почитать книгу Стивена Смита «Programming with 64-Bit ARM Assembly Language»,…

    Читать далее »
  • ХабрахабрФото [Перевод] Манипуляции с байт-кодом Java

    [Перевод] Манипуляции с байт-кодом Java

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

    Читать далее »
  • ХабрахабрФото [Перевод] Пишем кастомные CUDA-ядра на Triton

    [Перевод] Пишем кастомные CUDA-ядра на Triton

    Triton – это языковой компилятор для создания сильно оптимизированных ядер CUDA. Здесь будут изложены основы программирования для GPU и рассказано, как для этой цели используется Triton. Учитывая нынешний успех глубокого обучения и вал исследовательских статей на эту тему, часто возникает такая ситуация: рождается какая-нибудь новая идея, и выясняется, что для нее не поддерживается аппаратное ускорение. Точнее, стоит вам изобрести новую…

    Читать далее »
  • ХабрахабрФото [Перевод] Почему набор инструкций AVX 512 полезен для RPCS3?

    [Перевод] Почему набор инструкций AVX 512 полезен для RPCS3?

    Часто приходится слышать, что важность отличий между наборами инструкций на современных компьютерах преувеличена и, в самом деле, сложно не согласиться с таким наблюдением. Поскольку стандартная программа на 90 % состоит из простейших инструкций для АЛУ, загрузки и сохранения, а также инструкций ветвления, а также с учётом, что на таком базовом уровне разбежки между различными наборами команд очень невелики, такой вывод просто…

    Читать далее »
  • ХабрахабрФото [Перевод] Знакомимся с дата-ориентированным проектированием на примере Rust

    [Перевод] Знакомимся с дата-ориентированным проектированием на примере Rust

    James McMurray В этом посте мы исследуем основные концепции «Data-Oriented Design» (далее «дата-ориентированное проектирование» на языке Rust.Весь исходный код для этого поста выложен на Github. Что такое дата-ориентированное проектирование? Дата-ориентированное проектирование – это подход к оптимизации программ, предполагающий, что расположение структур данных в памяти должно тщательно оптимизироваться. Также требуется учитывать, как такой подход отражается на автоматической векторизации и использовании кэша…

    Читать далее »
  • ХабрахабрФото [Перевод] Знакомимся с дата-ориентированным проектированием на примере Rust

    [Перевод] Знакомимся с дата-ориентированным проектированием на примере Rust

    James McMurray В этом посте мы исследуем основные концепции «Data-Oriented Design» (далее «дата-ориентированное проектирование» на языке Rust.Весь исходный код для этого поста выложен на Github. Что такое дата-ориентированное проектирование? Дата-ориентированное проектирование – это подход к оптимизации программ, предполагающий, что расположение структур данных в памяти должно тщательно оптимизироваться. Также требуется учитывать, как такой подход отражается на автоматической векторизации и использовании кэша…

    Читать далее »
  • ХабрахабрФото Что не так с Copy-on-Write под Linux при копировании

    Что не так с 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

    Команда cp: правильное копирование папок с файлами в Linux

    В этой статье будут раскрыты некоторые неочевидные вещи связанные с использованием wildcards при копировании, неоднозначное поведение команды cp при копировании, а также способы позволяющие корректно копировать огромное количество файлов без пропусков и вылетов. Допустим нам нужно скопировать всё из папки /source в папку /target.Первое, что приходит на ум это: cp /source/* /target Сразу исправим эту команду на: cp -a /source/*…

    Читать далее »
  • ХабрахабрФото Intel выпустит процессор с трехмерной архитектурой Foveros в 2019 году

    Intel выпустит процессор с трехмерной архитектурой Foveros в 2019 году

    Только вчера мы разбирались, почему медиа твердят о потере Intel доминирующей позиции на рынке и как на компании отразится внедрение Amazon собственного серверного ARM-процессора, как представители технологического гиганта сделали очередной крупный анонс. Во второй половине 2019 года технологический гигант планирует поставить на рынок новый тип процессоров с шагом каждого слоя 10 нм и 22 нм соответственно. Компания Intel представила новую…

    Читать далее »


Кнопка «Наверх»