Компиляторы. - страница 3

AsmX G3: Архитектура кодировщика ZGEN. Как hwm генерирует машинный код amd64

AsmX G3: Переосмысление взаимодействия с кремнием с нуля.Мы не просто создаем еще один компилятор. Мы переосмысливаем, как программное обеспечение взаимодействует с кремнием, исходя из первых принципов. Старые методы, основанные на громоздких, монолитных бэкендах, устарели. Они медленные, сложные в поддержке и непрозрачные. AsmX G3, с его компилятором ZGEN, меняет это.В этой статье мы погрузимся в ядро нашего подхода: как наш hwm (Hardware Machine Factory) — компонент, который является, по сути, автономным модулем, — транслирует человекочитаемый ассемблер в чистый машинный код x86_64

продолжить чтение

Efficient Computer: программируем по кафелю

Efficient Computer — стартап из Питтсбурга, основанный в 2022 году командой исследователей из Университета Карнеги-Меллона. Между прочим, именно Университет Карнеги-Меллона является основным поставщиком кадров в MicrosoftResearch.Efficient Computer разрабатывает принципиально новую не Фон-Неймановскую архитектуру процессоров и программную экосистему.

продолжить чтение

AsmX G3: Как работает ZGEN компилятор под капотом

ВведениеМы не просто обновляем инструменты, мы переосмысливаем сам процесс создания программного обеспечения. AsmX G3 — это не очередное инкрементальное улучшение. Это фундаментальный сдвиг. В этой статье я расскажу, как именно работает наш новый компилятор ZGEN, что находится под капотом и какие возможности это открывает. Мы рассмотрим архитектуру, новые фичи, которые всё ещё на стадии тестирования, и то, как мы решаем сложнейшие задачи компиляции. Добро пожаловать в будущее ассемблера.Режимы компиляции: Два пути к одной целиМой компилятор AsmX G3 предлагает два кардинально разных режима: JITC

продолжить чтение

AsmX G3: От высокоуровневого ассемблера к нативному коду. Разбираем компилятор ZGEN

ВведениеAsmX G3 — это наш ответ на избыточную сложность современного системного программирования. Это язык ассемблерного уровня, созданный для тех, кто требует полного контроля над железом, но не хочет жертвовать читаемостью и современными синтаксическими удобствами. Мы взяли мощь ассемблера и обернули её в синтаксис, который не вызывает желания выстрелить себе в ногу.Долгое время AsmX полагался на JIT-компиляцию — быстро, удобно, но не всегда достаточно для задач, где каждый такт процессора на счету. Для создания по-настояшему производительных, нативных приложений мы разработали ZGEN (Zero-latency Code Generation

продолжить чтение

О времени, сложности и мотивации: знакомство

Приветствую вас, читатели.Подозреваю, что вы из мира программирования. Приглашаю вас присоединиться к увлекательному рассказу о том, как один энтузиаст решил доработать свой любимый язык.Я собираюсь рассказать об увлекательном опыте внесения существенных изменений в очень сложную архитектуру кода.Будет несколько статей, это первая. Для тех, кто хочет весь список сразу, держите:Часть 1: О времени, сложности и мотивации: знакомствоЧасть 2: О времени, сложности и мотивации: история поражения и победы

продолжить чтение

Вызовы функций, стек, куча и продолжения. Часть 2

В первой части статьи мы рассмотрели общую семантику применения функции в различных языках программирования и реализацию императивного вызова функции в машинном коде в стековом и бесстековом вариантах. Теперь мы рассмотрим теорию и практику реализации императивного вызова функции в модели продолжений (continuations): что такое продолжения, зачем нужны явные и неявные продолжения, как при помощи продолжений реализовать различные используемые в языках программирования управляющие конструкции.

продолжить чтение

Mash, основы языка

Предисловие Данный язык был разработан мной в учебных целях. Я не считаю его (на данный момент) идеально проработанным языком, но возможно в будущем он сможет потягаться с конкурентами. Если у вас есть желание попробовать его в действии самому — скачивайте репозиторий проекта, в нем вы сможете найти собранную версию проекта или же собрать её самостоятельно, для своей ОС. В данной статье будет описан небольшой мануал по проекту и рассмотрен синтаксис языка.

продолжить чтение

123