Что -то совершенно новое: Pyxl Project разрабатывает процессор для выполнения байтового кода Python

Представлен специализированный процессор PYXL, предназначенный для ускорения производительности языкового кода Python. Bytecode Python выполняется непосредственно чипом без каких -либо JIT, интерпретации или виртуальных машинS Файлы Python сначала преобразуются в байт -код Kpython, после чего байт -код преобразуется в специализированный набор инструкций PYSM, выполняемых чипом. Инструментарий для подготовки кода выполнения записан на Python и работает в стандартной среде, основанной на немодифицированном CPYTHON. Реализация процессора разработана с нуля и написана на языке для описания и моделирования электронных систем Verilog. Рабочий прототип процессора был протестирован на тарелках с FPGA Zynq-7000.
В тестах, оценивающих скорость событий GPIO, PYXL превышает в 30 раз превышает решение на основе микропитона и пирога. При выполнении тестового кода с реализацией PYXL 100 МГц приложение GPIO (латентность по обращению в обход) составляет 480 нс, в то время как с микропитоном Pyboard (168 МГц) это 14741 нс. Ожидается, что увеличение PYXL к пирогу увеличит разницу до 50 раз.
При работе с GPIS MicropyThon с использованием кода Pyboard Python взаимодействует с регистрами аппаратного обеспечения через промежуточные функции C, а сам код Python выполняется на виртуальной машине. В Python Pyxl Python выполняется непосредственно из процессора, и доступ к GPIOS выполняется без дополнительных слоев и внешних вызовов. В архитектуре PYXL используется обработка конвейера и модель на основе хранилища и обработки данных на основе стека. Платформа сохраняет динамическое печатание Python и не налагает ограничений на типы переменных.
На этом этапе разработки проект находится на стадии рабочего прототипа, поддерживая ограниченное подмножество языка питона, и направлено на продемонстрирование возможности эффективной аппаратной реализации кода Python. Запланированы дополнительные расширения функциональности, принимая во внимание фактические потребности разработчика, которые сосредоточены главным образом на приложениях для встроенных систем и информации о обработке в режиме реального времени.
Архитектура инструкций процессора PYXL разработана с учетом структуры байтона CPYTHON и ее эффективной обработки аппаратного обеспечения с учетом таких функций, как динамические типы типов и динамическое распределение. ISA включает в себя инструкции по манипуляциям с стеком, бинарные операции, операции сравнения и ветвление, функции отзыва и возможности доступа к памяти.
Технические детали проекта PYZX будут представлены 17 мая на конференции Pycon 2025. Предлагается возможность открытия проектов и создания независимого чипа ASIC, но решение этих проблем еще не было принято. Проект разрабатывается Ron Livne, который специализируется на оптимизации производительности и разработке аппаратных ускорителей.