Процессор и ОС Python - PullRequest
3 голосов
/ 03 апреля 2011

Разве не было бы возможно иметь ОС полностью на Python, если сама Python VM встроена в аппаратное обеспечение? Что-то вроде старой доброй машины Лисп?
Предположим, у меня есть процессор, который является аппаратной реализацией виртуальной машины python, тогда все программы, написанные на python, будут работать со скоростью сборки, не так ли (но Python в основном интерпретируется, но мы можем его скомпилировать)?
Если у нас есть такой «питон-микропроцессор», как насчет памяти и других подсистем? Будет ли он совместим с текущей памятью.
Есть ли какая-либо информация о регистрах и архитектуре Python VM, что-то похожее на то, что мы имеем для 8086?

Ответы [ 5 ]

4 голосов
/ 12 декабря 2012

Предположим, у меня есть процессор, который является аппаратной реализацией виртуальной машины python, тогда все программы, написанные на python, будут работать со скоростью сборки, не так ли (но Python в основном интерпретируется, но мы можем его скомпилировать)?

Да, это будет скорость сборки. Смотрите эту ссылку для сравнения с кодом сборки микроконтроллера AVR. http://pycpu.wordpress.com/code-examples/speed-pycpu-vs-8bit-avr/. Это аппаратная реализация процессора, которая может делать очень ограниченный байт-код Python. Но достаточно для условий if и цикла while с простыми целыми числами.

4 голосов
/ 03 апреля 2011

Разве не было бы возможно иметь ОС полностью на Python, если бы сама Python VM была встроена в аппаратное обеспечение?Что-то вроде старой доброй машины Lisp?

Да, теоретически это было бы возможно.

Предположим, у меня есть процессор, который является аппаратной реализацией виртуальной машины python,тогда все программы, написанные на python, будут работать со скоростью сборки, не так ли (но Python в основном интерпретируется, но мы можем его скомпилировать)?

Python не имеет скорости, этоязык.Скорость работы интерпретатора (в данном случае процессора) может быть проверена.Но так же, как трудно сравнивать производительность RISC и процессора CISC, сравнивать сборку с Python тоже будет сложно.

Если у нас есть такой «питон-микропроцессор», как насчет памяти?и другие подсистемы?Будет ли он совместим с текущей памятью.

Микропроцессор python должен был бы управлять памятью (и, следовательно, сборкой мусора).Поскольку это обычно делается интерпретатором, теперь микропроцессор должен это делать.

Есть ли какая-либо информация о регистрах и архитектуре Python VM, что-то похожее на то, что мы имеем для 8086?

Обычно вы не обращаетесь к памяти напрямую в Python, поэтому регистры здесь не должны быть релевантными.

4 голосов
/ 03 апреля 2011

Подобные вещи были опробованы для Java , но никто на самом деле не захватил мир штурмом.

Да, это возможно, но разработка нового оборудования стоит дорого ,Оправдывает ли возврат инвестиций создание такой игрушки?Думаю, нет, иначе кто-то уже попробовал бы это.:)

3 голосов
/ 03 апреля 2011

В 70-х годах такие идеи были довольно популярны. Идея заключалась в том, чтобы сократить семантический разрыв между компиляторами / виртуальными машинами и архитектурами набора команд, и тем самым сблизить языки программирования и аппаратные средства. Однако, когда Паттерсон и Дитцель опубликовали Дело о компьютере с уменьшенным набором команд (PDF, 672KB) и после успеха RISC и микропроцессора, идея закрытия семантического разрыва была в основном мертвой.

Теперь, с увеличением числа транзисторов идея может снова стать интересной. Но, как уже отмечали другие, разработка чипов стоит дорого. Вам нужна очень веская причина, чтобы потратить столько денег. Но это определенно возможно. IBM и Azul продемонстрировали это на своих массивно параллельных Java-чипах.

Полагаю, вам следует позвонить в Google и убедить их, что им срочно нужен процессор Python. ; -)

0 голосов
/ 03 апреля 2011

Новые операционные системы интересны и круты, и было бы неплохо использовать одну из версий Python.С другой стороны, linux настолько хорош и уже так развивается.Это должно быть "правильное время".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...