Реверсивная вычислительная платформа
Из обратимых вычислений FAQ:
Достижение максимально возможной вычислительной производительности для данного ставка немного тепла, как правило, требует явного обратимость не только на самом низком уровне, но на всех уровнях вычислений-в устройствах, схемы, архитектуры, языки и алгоритмы (a сильно предполагаемый, но еще не доказанный формально результат-назовем его законом Франка).
Как я понимаю, энергия теряется, генерируется, когда биты обнуляются. Производство тепла может быть уменьшено, если программно-аппаратная платформа имеет возможность реверсировать логические операции.
Существует ли какая-либо программная платформа (библиотека, среда выполнения, язык и компилятор), которая поддерживает обратимые вычисления?
3 ответа:
Да, существуют некоторые обратимые языки программирования, по крайней мере в исследованиях.
Я также заинтересован в этой области, и у меня есть коллекция из нескольких указателей. Эти две статьи довольно крутые:
- принципы реверсивного языка программирования
- обратимый язык программирования и его обратимый самоинтерпретатор
Те, которые я еще не читал (но есть в моем списке задач) и кажутся интересно:
- информационные эффекты
- обратимые синтаксические описания-объединяющий синтаксический анализ и красивая печать
- Инъективный язык для обратимых вычислений
Есть также эта тема в новостях хакеров.
Существует более богатая литература по двунаправленным преобразованиям (кода, моделей, структуры данных и т. д.).), что в некоторой степени связано с обратимыми вычислениями.
Насколько я понимаю, для истинно реверсивных вычислений нам потребуется запустить алгоритмы на реверсивном компьютере. Просто процитирую следующую ссылку:
Реверсивный компьютер : компьютер, в котором все микросхемы и схемы выполняют реверсивные функции без передачи тепла в окружающую среду или из нее. В 1990-х годах группа ученых из Массачусетского технологического института построила предварительные аппаратные средства, доказывающие возможность таких "адиабатических" вычислений.
Существуют различные реализации обратимых парсеров в прологе и других языках. Поскольку Prolog допускает обратимые вычисления, можно реализовать интерпретатор для языка программирования Janus в Prolog.