[ON] Проект PyXL развивает процессор для выполнения байт-кода Python

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
rssbot
Бот
Сообщения: 6001
ОС: gnu/linux

[ON] Проект PyXL развивает процессор для выполнения байт-кода Python

Сообщение rssbot »

Представлен специализированный процессор PyXL, предназначенный для ускорения выполнения кода на языке Python. Байт-код Python напрямую выполняться чипом без JIT, интерпретации и виртуальных машин. Файлы на языке Python вначале транслируются в байт-код CPython, после чего байт-код преобразуется в специализированный набор инструкций PySM, выполняемых чипом. Инструментарий для подготовки кода к выполнению написан на Python и работает в стандартном окружении на базе немодицифированного CPython. Реализация процессора разработана с нуля и оформлена на языке описания и моделирования электронных систем Verilog. Рабочий прототип процессора тестируется на платах с FPGA Zynq-7000.


В проведённых тестах, оценивающих скорость обработки событий GPIO, PyXL опережает решение на базе MicroPython и платы Pyboard в 30 раз. При выполнении тестового кода при помощи реализации PyXL, работающей с тактовой частотой 100MHz, задержка обработки запроса GPIO (Roundtrip Latency) составила 480 нс, а при помощи MicroPython Pyboard (168MHz) - 14741 нс. Предполагается, что повышение тактовой частоты PyXL до уровня Pyboard позволит увеличить разрыв до 50 раз.


При работе с GPIO на MicroPython при использовании платы PyBoard код на языке Python взаимодействует с аппаратными регистрами через промежуточные Си-функции, при этом сам Python-код выполняется в виртуальной машине. В PyXL байт-код Python выполняется напрямую процессором и доступ к GPIO осуществляется без дополнительных прослоек и внешних вызовов. Архитектура PyXL использует конвейерную обработку (pipelining) и стековую модель хранения и обработки данных. Платформа сохраняет динамическую типизацию Python и не накладывает ограничений на типы переменных.



На текущем этапе развития проект находится на стадии рабочего прототипа, поддерживающего ограниченное подмножество языка Python и нацеленного на демонстрацию возможности эффективного аппаратного выполнения Python-кода. Дальнейшее расширение функциональности планируют производить с учётом реальных потребностей автора, которые в основном сосредоточены на применении для встраиваемых систем и обработки информации в режиме реального времени.




Архитектура набора команд процессора PyXL спроектирована с оглядкой
на структуру байт-кода CPython и его эффективную обработку на аппаратном уровне с учётом специфики, такой как динамическая обработка типов и динамическая диспетчеризация. ISA включает инструкции для манипуляции стеком, бинарные операции, операции сравнения и ветвления, возможности вызова функций и доступа к памяти.



Технические детали реализации проекта PyZX будут представлены 17 мая на конференции PyCon 2025. Рассматривается возможность открытия наработок проекта и создания самодостаточного ASIC-чипа, но решение по этим вопросам пока окончательно не принято. Проект развивает Рон Ливне (Ron Livne), специализирующийся на оптимизации производительности и разработке аппаратных ускорителей.






Источник: https://www.opennet.ru/opennews/art.shtml?num=63157
(opennet.ru, основная лента)
Последний раз редактировалось rssbot 29.04.2025 17:10, всего редактировалось 1 раз.
Причина: Updated upstream
Спасибо сказали:
Obscurus
Сообщения: 174

Re: [ON] Проект PyXL развивает процессор для выполнения байт-кода Python

Сообщение Obscurus »

Напомните пожалуйста, а почему java-процессоры так и не взлетели?
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2780
ОС: gentoo fluxbox

Re: [ON] Проект PyXL развивает процессор для выполнения байт-кода Python

Сообщение yoricI »

Рано или поздно взлетят. А так да, ждём бейсик-процессор для начинающих.
Спасибо сказали: